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 objeto File, ele cria o arquivo dentro de C: \ SpringSourceTool ... Acho que este é o ClassPath certo?
Como posso obter a applicationcontext
pasta ou raiz do aplicativo?
O classpath é a maneira convencional de informar ao compilador Java (padrão) e ao tempo de execução Java onde encontrar as classes compiladas. Normalmente é uma sequência de nomes de arquivo JAR e nomes de diretório. O classpath usado pelo compilador e pelo sistema de tempo de execução não precisa ser o mesmo, mas normalmente deve ser , especialmente para um projeto pequeno.
Buildpath não é a terminologia Java padrão. É o termo que designa a maneira mais rica com que um IDE típico especifica o relacionamento entre os "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 construção para descobrir como empacotar seu código e suas dependências 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 contém / depende. Ele também lista os pacotes no projeto atual dos quais os projetos posteriores podem depender.
(Se você estiver usando Maven para o seu projeto, o mecanismo de buildpath do IDE é secundário às dependências declaradas nos arquivos POM. Por exemplo, usando o Eclipse com o m2eclipse, o buildpath é sintetizado a partir dos arquivos POM.)
fonte
O caminho da classe é usado em tempo de execução para carregar classes e recursos compilados.
O caminho de construção é usado em tempo de compilação para encontrar as dependências necessárias para construir seu projeto.
fonte
.class
arquivos (e outros recursos compilados), enquanto o caminho de construção é usado para localizar arquivos de origem que precisam ser compilados?Cada projeto Java possui seu próprio caminho de construção que especifica todas as dependências necessárias para compilar o projeto. Essas dependências podem vir de outros projetos Java na área de trabalho, de arquivos Java .jar ou de pastas contendo arquivos .class.
No ambiente CLASSPATH, você precisa especificar apenas arquivos .class (ou seja, jar, arquivos zip - dentro de jar, arquivos zip você encontrará apenas classes java), ou seja, você está ajudando Java Virtual Machine (JVM) a encontrar arquivos de classe Java
É aqui que a JVM foi iniciada, se você deseja criar o arquivo em outro local, use o caminho relativo a partir daqui.
Veja isto e isto para mais informações.
fonte
Eu gostaria de acrescentar à resposta de Andreas_D para explicar que o caminho de construção é exigido pelo IDE / compilador para localizar pacotes externos e classes usadas por seu código. Às vezes nos referimos a isso como 'dependências' .
NB: Esses pacotes externos podem ser empacotados dentro de um arquivo .jar compactado ou, na verdade, podem haver vários arquivos jar empacotados dentro de uma 'biblioteca' . Uma biblioteca ou grupo de bibliotecas freqüentemente constitui uma 'estrutura' .
Se seu código requer código escrito por outros, você pode importá- los para sua classe usando o
import
comando. No entanto, esse comando por si só é insuficiente, pois o compilador ou IDE precisa saber onde essas classes estão localizadas. Você especifica isso no caminho de construção .Por
classpath
outro lado, informa à JVM que está executando seu aplicativo onde encontrar quaisquer dependências durante a execução real de seu código.Também a observar: Classpath é para uso pela JVM.
Buildpath é para ser usado pelo IDE / compilador e é um meio de construir o classpath de seu ambiente de desenvolvimento. Ao configurar seu buildpath por meio de seu IDE, você também está configurando um arquivo oculto em seu projeto chamado .classpath. Isso é usado para fornecer o caminho de classe para JVM na implementação.
fonte
Classpath ( da Wikipedia ):
Simplificando - enquanto seu programa está em execução, a JVM carrega classes apenas conforme necessário. Quando uma classe é necessária, a JVM dependerá do classpath para saber de onde carregar o bytecode (ou seja:
.class
arquivos).O caminho de construção , por outro lado, é normalmente usado por um IDE, como o Eclipse, para saber onde procurar bibliotecas adicionais necessárias para compilar o código-fonte de um projeto. O caminho de construção não é usado durante o tempo de execução.
fonte