entre diferencia java classpath buildpath

java - ¿Cuál es la diferencia entre Class Path y Build Path?



css diferencia entre id y class (5)

Cada proyecto Java tiene su propia ruta de compilación que especifica todas las dependencias necesarias para compilar el proyecto. Esas dependencias pueden provenir de otros proyectos de Java en el espacio de trabajo, de archivos .jar de archivos Java o de carpetas que contienen archivos .class.

En el entorno CLASSPATH solo necesita especificar archivos .class (es decir, archivos jar, zip, dentro de jar, archivos zip, encontrará solo clases Java), es decir, está ayudando a Java Virtual Machine (JVM) a encontrar archivos de clase Java

¿Qué debo hacer para crear un archivo en la carpeta src de Spring MVC Project? Cuando creo usando un objeto File, crea el archivo dentro de C: / SpringSourceTool ...

Aquí es donde se inició la JVM, si desea crear el archivo en otro lugar, use la ruta relativa desde aquí.

Vea this y this para más información.

Estoy confundido con estos dos términos.

¿Qué debo hacer para crear un archivo en la carpeta src de Spring MVC Project? Cuando creo usando un objeto File crea el archivo dentro de C: / SpringSourceTool ... Supongo que esto es ClassPath ¿verdad?

¿Cómo puedo obtener la carpeta applicationcontext o la raíz de la aplicación?


El classpath es la forma convencional de indicar al compilador de Java y al tiempo de ejecución de Java dónde encontrar las clases compiladas. Normalmente es una secuencia de nombres de archivo JAR y nombres de directorio. El classpath utilizado por el compilador y el sistema de tiempo de ejecución no tiene que ser el mismo, pero por lo general "debería ser *, especialmente para un proyecto pequeño.

Buildpath no es terminología estándar de Java. Es el término por la forma más rica que un IDE típico especifica la relación entre los "módulos" o "proyectos" que componen una aplicación. El IDE usa esto para descubrir el classpath y sourcepath para compilar el código de Java y el classpath para ejecutarlo. El IDE también usa la ruta de compilación para descubrir cómo empaquetar su código y sus dependencias como (por ejemplo) un archivo WAR.

Por ejemplo, una ruta de compilación de Eclipse para un proyecto incluye los otros proyectos de los que depende y enumera cualquier JAR de biblioteca adicional en el que el proyecto se basa / depende. También enumera los paquetes en el proyecto actual de los que pueden depender los proyectos posteriores.

(Si está usando Maven para su proyecto, el mecanismo IDE buildpath es secundario a las dependencias declaradas en los archivos POM. Por ejemplo, al usar Eclipse con el m2eclipse, el buildpath se sintetiza desde los archivos POM).


La ruta de compilación se usa para crear su aplicación. Contiene todos sus archivos de origen y todas las bibliotecas de Java que se requieren para compilar la aplicación.

El classpath se usa para ejecutar la aplicación. Esto incluye todas las clases y bibliotecas de Java que se necesitan para ejecutar la aplicación Java. Un Classpath es obligatorio, la ruta predeterminada es . que se usa si la máquina virtual Java no puede encontrar una ruta definida por el usuario. (Variable de entorno CLASSPATH , indicador -cp o atributo Class-Path: en un manifiesto jar)


La ruta de clase se utiliza en tiempo de ejecución para cargar clases y recursos compilados.

La ruta de compilación se usa en tiempo de compilación para encontrar las dependencias necesarias para construir su proyecto.


Me gustaría agregar a la respuesta de Andreas_D para explicar que el IDE / compilador requiere la ruta de compilación para ubicar los paquetes externos y las clases utilizadas por su código. A veces nos referimos a estos como ''dependencias'' .

NB: estos paquetes externos pueden estar empaquetados dentro de un archivo comprimido .jar o, de hecho, puede haber varios archivos jar empaquetados dentro de una ''biblioteca'' . Una biblioteca o un grupo de bibliotecas a menudo conforman un ''marco'' .

Si su código requiere código escrito por otros, puede importarlos a su clase utilizando el comando de import . Sin embargo, este comando en sí mismo es insuficiente ya que el compilador o IDE necesita saber dónde están ubicadas esas clases. Usted especifica esto en la ruta de compilación .

El classpath por otro lado, le dice a la JVM que ejecuta su aplicación dónde encontrar las dependencias durante la ejecución real de su código.

También para tener en cuenta: Classpath es para uso de la JVM.

Buildpath es para uso del IDE / compilador y es un medio para construir el classpath desde su entorno de desarrollo. Cuando configura su ruta de compilación a través de su IDE, también está configurando un archivo oculto en su proyecto llamado .classpath. Esto se usa para proporcionar el classpath a JVM en la implementación.