Sé que export CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH
agregará tools.jar a CLASSPATH, pero quiero establecer la carpeta en CLASSPATH
Me gusta esto
export CLASSPATH=/usr/local/java/lib/:$CLASSPATH
Pero no está funcionando.
Sé que export CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH
agregará tools.jar a CLASSPATH, pero quiero establecer la carpeta en CLASSPATH
Me gusta esto
export CLASSPATH=/usr/local/java/lib/:$CLASSPATH
Pero no está funcionando.
Respuestas:
Primero, en general, la configuración de la var env CLASSPATH
generalmente causa más problemas de los que resuelve, ya que no todas las aplicaciones quieren / necesitan el mismo classpath, y a menudo se rompen cuando se incluyen jarras no deseadas o incluso innecesarias en el classpath. Una aplicación de Java solo debe incluir el número mínimo de frascos que requiere, ni más ni menos.
Cuando tienes específica, aplicaciones individuales que requieren que se establece la ruta de clase, entonces se prefiere por lo general la opción de línea de comandos: java -cp path1:path2:...
. Los iconos del escritorio pueden tener su comando alterado para incluir estas opciones, o los scripts de shell pueden modificarse para incluir estas opciones.
Dicho esto (y dado que siempre hay excepciones a la regla), dependiendo de la versión de java (esto requiere java 6 o posterior), puede especificar que se agregue un directorio completo de jarras al classpath agregando un " *
" al final de un directorio; por ejemplo, lo siguiente:
/dir1/foo.jar:/dir2/dir3:/dir5/dir6/*:etc...
Medio:
/dir1/foo.jar
- (el jar individual) se agregará al classpath;/dir2/dir3
- todas las clases sin jar de este directorio se agregarán al classpath (debe estar en la estructura de paquete adecuada; por ejemplo, com.my.Foo.class
debe estar en /dir2/dir3/com/my/Foo.class
)/dir5/dir6/*
- todos los frascos en este directorio (es decir, /dir5/dir6/*.jar
) se agregarán al classpath. Tenga en cuenta que este " *
" no es un comodín (no puede usarlo f*.jar
ni siquiera *.jar
); es un caracter especial que indica "agregar todos los frascos"En general, si tiene que agregar un directorio completo de jarras al classpath de la aplicación, la aplicación no se incluyó correctamente. Más bien, la aplicación debería tener un manifiesto que contenga la lista de tarros de los que depende. O al menos, solo se debe agregar un jar a su classpath, y ese jar puede tener en su manifiesto la lista completa de jar en algún subdirectorio.
si desea establecer classpath permanentemente, entonces 1) averigüe dónde está instalado java ... puede usar "whereis java" openjdk-7/6 está en / usr / lib / jvm / .....
2) necesitamos configurar CLASSPATH en / etc / environment
sudo gedit /etc/environment
3) agregue los siguientes me gusta ... (NO DEJE NINGÚN ESPACIO MIENTRAS ESCRIBE) (personalice de acuerdo con su versión e instalación de Java) (esta ruta de inicio es para jdk 7 abierto)
JAVA_HOME="/usr/lib/jvm/java-7-openjdk-i386/bin"
export JAVA_HOME
CLASSPATH=".:/usr/lib/jvm/java-7-openjdk-i386/lib:/home/laptop/Desktop/a2"
export CLASSPATH
directorio separado por ":"