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


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 el applicationcontext carpeta o raíz de la aplicación lo que sea?


73
2017-08-20 08:59


origen


Respuestas:


los Construir camino se usa para construir su aplicación. Contiene todos sus archivos de origen y todas las bibliotecas de Java que se requieren para compilar la aplicación.

los 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. (CLASSPATH Variable ambiental, -cp bandera o Class-Path: atributo en un manifiesto jar)


83
2017-08-20 09:07



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 lo hacen tiene que ser lo mismo, pero típicamente "deberían 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).


40
2017-08-20 11:08



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.


24
2017-08-20 09:03



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

Además, ¿qué debo hacer para crear un archivo?   debajo de la carpeta src de Spring MVC   ¿Proyecto? Cuando creo usando un archivo   objeto crea el archivo dentro   C: \ SpringSourceTool ...

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

Ver esta y esta para más información.


3
2017-08-20 09:01



Me gustaría agregar a la respuesta de Andreas_D para explicar que Construir camino es requerido por el IDE / compilador para localizar paquetes externos y clases usado por tu código  A veces nos referimos a estos como 'dependencias'.

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

Si su código requiere código escrito por otros, puede importar ellos en su clase usando el import mando. 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 el Construir camino.

los 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.


1
2018-03-20 13:32