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.
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.
Respostas:
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
sudo gedit /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)
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
separar o diretório por ":"
terminal aberto e tipo
sudo nano ~ / .bashrc
adicione todas as exportações que você precisa, como ...
exportar JAVA_HOME = / usr / local / java / jdk1.6.0_06 (seu caminho)
exportar ANT_HOME = / opt / ant / apache-form-1.9.4
finalmente reinicie o terminal para que as alterações entrem em vigor