Qual é a diferença entre o caminho da class e o caminho da compilation?

Estou confuso com esses dois termos.

Além disso, o que devo fazer para criar um arquivo na pasta src de um projeto Spring MVC? Quando eu crio usando um object File, ele cria o arquivo dentro de C: \ SpringSourceTool … Eu acho que isso é correto para o ClassPath?

Como posso obter a pasta de contexto de aplicativo ou raiz do aplicativo?

O caminho de construção é usado para construir seu aplicativo. Ele contém todos os seus arquivos de origem e todas as bibliotecas Java necessárias para compilar o aplicativo.

O classpath é usado para executar o aplicativo. Isso inclui todas as classs e bibliotecas Java necessárias para executar o aplicativo java. Um caminho de class é obrigatório, o caminho padrão é . que é usado se a máquina virtual java não puder encontrar um caminho definido pelo usuário. (Variável de ambiente CLASSPATH , flag -cp ou atributo Class-Path: em um manifesto jar)

O classpath é a maneira convencional de dizer ao compilador Java e ao Java o tempo de execução onde encontrar classs compiladas. Normalmente, é uma sequência de nomes de arquivos JAR e nomes de diretórios. O caminho de class usado pelo compilador e pelo sistema de tempo de execução não precisa ser o mesmo, mas eles normalmente “devem ser”, especialmente para um projeto pequeno.

O Buildpath não é uma terminologia padrão de Java. É o termo para a maneira mais rica que um IDE típico especifica a relação entre os “módulos” ou “projetos” que compõem um aplicativo. O IDE usa isso para descobrir o classpath e sourcepath para compilar o código Java e o classpath para executá-lo. O IDE também usa o caminho de compilation para descobrir como empacotar seu código e suas dependencies como (por exemplo) um arquivo WAR.

Por exemplo, um caminho de construção do Eclipse para um projeto inclui os outros projetos dos quais ele depende e lista quaisquer JARs de biblioteca adicionais que o projeto contenha / dependa. Ele também lista os pacotes no projeto atual dos quais os projetos de downstream podem depender.

(Se você estiver usando o Maven para o seu projeto, o mecanismo de caminho de construção do IDE é secundário para as dependencies declaradas nos arquivos POM. Por exemplo, usando o Eclipse com o m2eclipse, o caminho de construção é sintetizado a partir dos arquivos POM.)

O caminho da class é usado no tempo de execução para carregar classs e resources compilados.

O caminho de construção é usado em tempo de compilation para encontrar as dependencies necessárias para construir seu projeto.

Cada projeto Java tem seu próprio caminho de construção que especifica todas as dependencies necessárias para compilar o projeto. Essas dependencies podem vir de outros projetos Java no espaço de trabalho, de arquivos .jar de archive Java ou de pastas contendo arquivos .class.

No ambiente CLASSPATH você precisa especificar apenas arquivos .class (ou seja, arquivos jar, zip – dentro de jar, arquivos zip você encontrará apenas classs java), ou seja, você está ajudando a Java Virtual Machine (JVM) a localizar arquivos de class Java

Além disso, o que devo fazer para criar um arquivo na pasta src de um projeto Spring MVC? Quando eu crio usando um object File, ele cria o arquivo dentro de C: \ SpringSourceTool …

É onde a JVM foi iniciada, se você deseja criar o arquivo else, use o caminho relativo a partir daqui.

Veja isso e isso para mais informações.

Eu gostaria de acrescentar à resposta de Andreas_D para explicar que o caminho de compilation é requerido pelo IDE / compilador para localizar pacotes e classs externos usados ​​pelo seu código. Às vezes nos referimos a eles como “dependencies” .

NB: Estes pacotes externos podem ser empacotados dentro de um arquivo .jar compactado ou, de fato, pode haver vários arquivos jar dentro de uma ‘biblioteca’ . Uma biblioteca ou grupo de bibliotecas geralmente formam um ‘framework’ .

Se o seu código requer código escrito por outros, você pode importá- los para sua class usando o comando import . No entanto, esse comando por si só é insuficiente, pois o compilador ou IDE precisa saber onde essas classs estão localizadas. Você especifica isso no caminho de construção .

O classpath de classpath por outro lado, informa à JVM que está executando seu aplicativo onde encontrar quaisquer dependencies durante a execução real de seu código.

Também note: Classpath é para uso pela JVM.

Buildpath é para uso do IDE / compilador e é um meio de construir o caminho de class a partir do seu ambiente de desenvolvimento. Quando você configura seu caminho de construção através de seu IDE, você também está configurando um arquivo oculto em seu projeto chamado .classpath. Isso é usado para fornecer o caminho de class à JVM na implementação.

Intereting Posts