2011-11-18 11 views
7

¿Cuáles son las diferentes formas en que los programas Java obtienen acceso a bibliotecas externas? Está estableciendo un classpath, modificando la compilación o la ruta de compilación, pero he visto otras formas de agregar los jars.¿Cuál es la diferencia entre establecer la ruta de compilación classpath y java en eclipse?

¿Por qué algunas bibliotecas deben agregarse al classpath mientras que otras no? Por ejemplo, estoy usando JSF, herramientas WTP y otras bibliotecas adicionales, pero no están en mi ruta de compilación cuando veo la ruta de compilación de mi proyecto.

Respuesta

6

El Java Build Path es solo una cosa de Eclipse. Es donde Eclipse encuentra las clases necesarias para compilar y ejecutar las clases del proyecto. Por lo tanto, es la compilación th y la classpath de ejecución.

En el caso de una aplicación web, la aplicación web se ejecuta dentro de un contenedor web Java EE. El contenedor web da acceso a las clases Java EE estándar (javax.servlet, etc.). Además, todos los archivos jar en WEB-INF/classes se incluyen automáticamente en el classpath de la aplicación web. Por lo tanto, Eclipse no necesita que los especifique en la ruta de compilación de Java. Están incluidos automáticamente.

+0

¿Dónde se almacena el classpath? ¿Es una variable de entorno en el sistema operativo o algo configurado en la JVM? – Randnum

+1

Se pasa a la JVM utilizando la opción -classpath o -cp. Abra la vista Depurar en Eclipse, ejecute un programa dentro de Eclipse, haga clic con el botón derecho en el nodo ... javaw.exe en la vista Depurar y haga clic en "Propiedades" para ver qué comando usa Eclipse para iniciar el programa. –

13

classpath se utiliza para buscar clases cuando ejecutando un programa Java. La ruta de compilación se usa cuando Eclipse es compilando un programa Java.

+0

Muy corto y dulce .... Acepto .......... – water

1

En tiempo de desarrollo.

Una ruta de compilación es aquella en la que puede indicar explícitamente software/jar de terceros.

De forma predeterminada, no todos los software de terceros se agregan a su classpath, por lo tanto, es posible que tenga que agregarlos explícitamente a su ruta.

En tiempo de ejecución.

Por otro lado, cuando ejecuta sus aplicaciones desde la línea de comandos, debe prefijar el classpath utilizando -cp para especificar los archivos jar de terceros.

Por ejemplo, en proyectos web lo agregarías a tu biblioteca web-inf cuando implementes.

0

Un classpath es simplemente un conjunto de entradas classpath (IClasspathEntry) que describen los tipos que están disponibles. El classpath es una variable de entorno que le indica dónde buscar los archivos de clase y generalmente se establece en un directorio o archivo JAR (archivo java).

La ruta de compilación de Java se refleja en la estructura de un elemento de proyecto de Java. Puede consultar un proyecto para sus raíces de fragmento de paquete (IPackageFragmentRoot). La ruta de compilación es la ruta de clases que se utiliza para crear un proyecto de Java (IJavaProject).

Cuestiones relacionadas