Fala galera do GUJ estou com problema a muito tempo com as variaveis de ambiente do java no linux
estou setando as variaveis da forma que segue abaixo dou javac tento compilar algum codigo aparece java: command not found
segue abaixo meu profile para alguem possa me ajudar
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
if [ "$PS1" ]; then
if [ "$BASH" ]; then
PS1='\u@\h:\w\$ '
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
JAVA_HOME=:/usr/java/j2sdk1.4.2_08
CLASSPATH=.:$CLASSPATH
PATH=$JAVA_HOME/bin:$PATH
export PATH
ja instalei o java e tambem criei este diretorio usr/java/j2sdk1.4.2_08 onde o pacote se encontra
se for tambem ajudar estou utilizando linux Debian-BR-CDD
sera alguem poderia me uma força na configuração destas variaveis :shock:
Não sei qual a distribuição que usas, mas recomendo que faças as tuas definições num ficheiro diferente do /etc/profile, eu utilizo o ficheiro /etc/profile.local, desta forma sempre que faço qualquer actualização no linux o ficheiro profile.local nunca é sobreposto.
Sempre é bom saber o que está fazendo, em vez de copiar de algum lugar sem saber o que está acontecendo.
No Bourne Shell ou no BASH, você precisa saber o que é EXPORT. No seu caso, você deve exportar todas as variáveis que precisa visualizar depois de executar o .profile (se é que é esse arquivo que está sendo executado no seu login; sempre é bom pôr um comando “echo” para você ver o que está acontecendo.
Além disso, você precisa saber que “:” faz diferença no Unix. No seu caso você está definindo uma variável
JAVA_HOME=:/usr/java/j2sdk1.4.2_08
que tem um “:” sobrando.
Acho que você deveria definir algo como (claro que estou supondo que o seu JDK está instalado em /usr/java/j2sdk1.4.2_08! )
Fala galera acrescentei as alterações sugeridas continua aparecendo a mesma
mensagem bash: javac: command not found
vou descrever mais um pouco do caso eu tenho o caminho usr/java
dentro coloquei j2sdk-1_4_2_08-linux-i586.bin
entrei no diretorio e executei o arquivo e fui editar o profile dai com as variaveis que estam acima não consigo a aparece esta mensagem bash: javac: command not found
Quando você mexe no /etc/profile, as modificações só ocorrem quando você se loga e desloga (talvez seja melhor usar o seu arquivo ~/.profile)
Onde é que está mesmo o seu executável java? Em que diretório, afinal de contas? Não tenho acesso à sua máquina para saber exatamente onde está.
Veja exatamente onde está o java, para poder setar corretamente o JAVA_HOME.
Estou dando um exemplo aqui, usando uma máquina Linux com o Websphere instalado. No meu caso, tanto o java quando o javac estão no PATH. É por isso que queria saber onde é que está o java na sua máquina.
thingol@linux:~> echo $JAVA_HOME
/usr/lib/java
thingol@linux:~> echo $PATH
/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome2/bin:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/java/bin:/opt/gnome/bin
thingol@linux:~> type java
java is /usr/lib/java/bin/java
thingol@linux:~> type javac
javac is hashed (/usr/lib/java/bin/javac)
thingol@linux:~> java -version
java version "1.3.1_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_04-b02)
Java HotSpot(TM) Client VM (build 1.3.1_04-b02, mixed mode)
No Suse tem 2 arquivos dentro de profile.d, o java.csh e o java.sh em qual deles eu tenho que mexer? ou eu posso apagar eles e colocar só um java.sh com as declarações nesses arquivos tem muitas verificaçoes, inclusive para saber se a vm é da sun ou da ibm.