Verifique se o java está no seu caminho, por exemplo usando os comandos
which java
echo $PATH
com e sem raiz.
Acho que essa sequência de comandos explica toda a minha pergunta:
[Ramy@Moonface Downloads]$ java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)
[Ramy@Moonface Downloads]$ su -
Password:
[root@Moonface ~]# java -version
bash: java: command not found
Rodando o fedora 13
Suponho que vale a pena perguntar explicitamente: quais etapas eu preciso tomar para poder invocar java como root?
mais informações:
[Ramy@Moonface ~]$ which java
/usr/java/jdk1.6.0_22/bin/java
[Ramy@Moonface ~]$ echo $PATH
/usr/java/jdk1.6.0_12/bin:/usr/java/jdk1.6.0_12/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/ sbin:/usr/sbin:/sbin:/home/Ramy/bin:/usr/java/jdk1.6.0_22/bin
[Ramy@Moonface ~]$ su -
Password:
[root@Moonface ~]# which java
/usr/bin/which: no java in (/usr/java/jdk1.6.0_12/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/roo t/bin)
[root@Moonface ~]# echo $PATH
/usr/java/jdk1.6.0_12/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
ATUALIZAÇÃO: então obviamente "/usr/java/jdk1.6.0_22/bin" está faltando no caminho para o root. Como posso adicioná-lo ao caminho da raiz? aqui está o meu ~ / bash_profile:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export JAVA_HOME="/usr/java/jdk1.6.0_22"
n.b. O seguinte é de um usuário do Windows com apenas algumas semanas de experiência no Linux, por isso, se eu usar alguns termos do Windows, me desculpe.
Os arquivos necessários para chamar o Java podem estar no diretório inicial do usuário ou no diretório Downloads. Esses locais podem não ser visualizados quando você está root (semelhante a quando algo não está na variável de caminho do Windows), portanto, sob a raiz, o sistema operacional procura áreas comuns (e o diretório raiz) e não consegue encontrá-lo, sob usuário olha nas áreas comuns e é o diretório home e encontrá-lo lá.
Tente encontrar os arquivos Java e movê-los para uma área comum.