Agregar una carpeta de archivos jar a mi ruta


10

Tengo herramientas de Java que necesito usar. Las herramientas están en una carpeta llena de archivos jar. Quería agregar esta carpeta a mi ruta, por las razones obvias, pero después de editar mi .bash_profile para incluir la nueva carpeta en la variable $ PATH y obtenerla, no funciona. También intenté cerrar sesión y volver a iniciar sesión, y eso tampoco funcionó. Sigo recibiendo el mensaje de error "No se puede acceder a jarfile .jar"


¿Ha verificado si no es un problema de permisos?
— matcheek

Tendrás que disculpar mi ignorancia, pero ¿cómo puedo comprobar esto?
— Davy Kavanagh

Es posible que desee verificar esta respuesta: stackoverflow.com/questions/5569591/…
— matcheek

Respuestas:


5

Para los archivos JAR, debe establecer CLASSPATH y no la variable de entorno PATH.

Si está utilizando BASH, es: export CLASSPATH="$CLASSPATH:<full_path_to_each_jar_files>"

Es mejor que lo agregue al archivo a .bashrcmenos que sepa lo que está haciendo.

Ejemplo:

export CLASSPATH="$CLASSPATH:$HOME/java/lib/foebar.jar:$HOME/extra/lib/another.jar"

Pero, por supuesto, si todavía está invocando el archivo jar con la clase Main, debe usar la ruta completa para ello:

java -jar $HOME/java/lib/main-prog.jar

Sin embargo, puede establecer su ejecución correcta y ejecutarla:

chmod u+x $HOME/java/lib/main-prog.jar
export PATH=$PATH:$HOME/java/lib
main-prog.jar

Pero debe tener cuidado de que su classpath sea correcto y enumerar todos los jar necesarios.


Intenté exportar CLASSPATH = $ CLASSPATH: <my_new_path>, con <my_new_path> reemplazado por la ruta real de la carpeta, obtenida y aún el mismo resultado.
— Davy Kavanagh

Lo siento, mi error, no es la ruta sino el archivo .jar con la ruta completa que pones, actualizaré la respuesta
— Huygens

¿Significa esto que tendré que agregar a CLASSPATH, una nueva entrada para cada archivo jar. Hay alrededor de 80 de estos archivos jar.
— Davy Kavanagh

@DavyKavanagh Nota: no agregue la variable de entorno a .bashrc, agréguelo a .profile. Ver Alternativa a .bashrc
— Gilles 'SO- deja de ser malvado'

@DavyKavanagh, perdón por el largo retraso en la respuesta. Pero sí, esto significaría agregar los 80 archivos jar al classpath.
— Huygens

2

Si sus herramientas son scripts, que contienen comandos como

 java -jar somejafile.jar

entonces debes editarlos para que contengan la ruta correcta

 java -jar /full/path/to/somefile.jar

No, lo siento, las herramientas son los propios archivos jar
— Davy Kavanagh
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.