Eu sei que export CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH
irá adicionar tools.jar ao CLASSPATH, mas quero definir a pasta para o CLASSPATH
como isso
export CLASSPATH=/usr/local/java/lib/:$CLASSPATH
mas não está funcionando.
fonte
Eu sei que export CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH
irá adicionar tools.jar ao CLASSPATH, mas quero definir a pasta para o CLASSPATH
como isso
export CLASSPATH=/usr/local/java/lib/:$CLASSPATH
mas não está funcionando.
Primeiro, em geral, definir o env var CLASSPATH
geralmente causa mais problemas do que resolve - já que nem todos os aplicativos desejam / precisam do mesmo caminho de classe e geralmente quebram quando jarros indesejados ou mesmo desnecessários são incluídos no caminho de classe. Um aplicativo java deve incluir apenas o número mínimo de jars necessário, nem mais nem menos.
Quando você tem aplicativos individuais específicos que exigem que o caminho da classe seja definido, geralmente a opção da linha de comando é a preferida: java -cp path1:path2:...
. Os ícones da área de trabalho podem ter seus comandos alterados para incluir essas opções ou os scripts de shell podem ser modificados para incluir essas opções.
Dito isto (e como sempre há exceções à regra), dependendo da versão do java (isso requer java 6 ou posterior), você pode especificar que um diretório inteiro de jars seja adicionado ao caminho de classe adicionando um " *
" no final de um diretório; por exemplo, o seguinte:
/dir1/foo.jar:/dir2/dir3:/dir5/dir6/*:etc...
Significa:
/dir1/foo.jar
- (o jar único) será adicionado ao caminho da classe;/dir2/dir3
- todas as classes não jar neste diretório serão adicionadas ao caminho da classe (deve estar na estrutura apropriada do pacote; por exemplo, com.my.Foo.class
deve estar dentro /dir2/dir3/com/my/Foo.class
)/dir5/dir6/*
- todos os jars neste diretório (ou seja /dir5/dir6/*.jar
) serão adicionados ao caminho de classe. Observe que este " *
" não é um curinga (você não pode usar f*.jar
nem mesmo *.jar
); é um caractere especial indicando "adicionar todos os frascos"Em geral, se você precisar adicionar um diretório inteiro de jars ao caminho de classe do aplicativo, o aplicativo não foi empacotado corretamente. Em vez disso, o aplicativo deve ter um manifesto contendo a lista de frascos dos quais depende. Ou, no mínimo, apenas um jar deve ser adicionado ao seu caminho de classe, e esse jar pode ter em seu manifesto toda a lista de jarros em algum subdiretório.
se você deseja definir o caminho de classe permanentemente, 1) descubra onde o java está instalado .. você pode usar "whereis java" O openjdk-7/6 está em / usr / lib / jvm / .....
2) precisamos configurar o CLASSPATH em / etc / environment
3) adicione os seguintes gostos .. (NÃO DEIXE ALGUNS ESPAÇOS AO TIPO) (personalize de acordo com sua versão e instalação do java) (este caminho inicial é para o jdk aberto 7)
separar o diretório por ":"
fonte
terminal aberto e tipo
adicione todas as exportações que você precisa, como ...
finalmente reinicie o terminal para que as alterações entrem em vigor
fonte