Adicionando uma pasta de arquivos jar ao meu caminho

10

Eu tenho ferramentas java que preciso usar. As ferramentas estão em uma pasta cheia de arquivos jar. Eu queria adicionar esta pasta ao meu caminho, pelos motivos óbvios, mas depois de editar meu .bash_profile para incluir a nova pasta na variável $ PATH e a fonte, ela não funciona. Também tentei sair e entrar novamente, e isso também não funcionou. Eu continuo recebendo a mensagem de erro "Não foi possível acessar o jarfile .jar"

Davy Kavanagh
fonte
Você verificou se não é um problema de permissões?
matcheek
Você terá que desculpar minha ignorância, mas como eu poderia verificar isso?
precisa saber é o seguinte
Você pode querer verificar esta resposta: stackoverflow.com/questions/5569591/...
matcheek

Respostas:

5

Para arquivos JAR, é necessário configurar a CLASSPATH e não a variável de ambiente PATH.

Se você estiver usando o BASH, é: export CLASSPATH="$CLASSPATH:<full_path_to_each_jar_files>"

É melhor adicioná-lo ao arquivo, a .bashrcmenos que saiba o que está fazendo.

Exemplo:

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

Mas é claro que, se você ainda estiver chamando o arquivo jar com a classe Main, precisará usar o caminho completo para isso:

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

No entanto, você pode definir sua execução corretamente e executá-la:

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

Mas você deve cuidar para que seu caminho de classe esteja correto e listar todos os jar necessários.

Huygens
fonte
Tentei exportar CLASSPATH = $ CLASSPATH: <my_new_path>, com o <my_new_path> substituído pelo caminho real da pasta, originário e ainda com o mesmo resultado.
precisa
Desculpe o meu erro, não é o caminho, mas o arquivo .jar com caminho completo você colocar, eu vou atualizar a resposta
Huygens
Isso significa que terei que adicionar ao CLASSPATH, uma nova entrada para cada arquivo jar. Existem cerca de 80 desses arquivos jar.
precisa saber é o seguinte
@DavyKavanagh Nota: não adicione a variável de ambiente .bashrc, adicione-a .profile. Veja Alternativa para .bashrc
Gilles 'SO- stop be evil'
@DavyKavanagh desculpe pelo longo atraso na resposta. Mas sim, isso significaria adicionar os 80 arquivos jar ao caminho da classe.
Huygens
2

Se suas ferramentas são scripts, que contêm comandos como

 java -jar somejafile.jar

então você deve editá-los para conter o caminho correto

 java -jar /full/path/to/somefile.jar
Jari Laamanen
fonte
Não, desculpe, as ferramentas são os arquivos jar-se
Davy Kavanagh