我在Unix服务器上有一个帐户。当我在BASH时,我无法指出我想要的Java版本。
Unix的版本是:
SunOS 5.10 Generic January 2005
这就是我在.profile中所拥有的:
#====================================================================
# set the environment
#====================================================================
ANT_HOME=/apps1/apache-ant-1.8.4
export ANT_HOME
# $PATH:/user1/acme21 needs to be included to make anything work
PATH=.:/usr/jdk/instances/jdk1.6.0_24:$ANT_HOME/bin:$PATH:/user1/acme21
export PATH
JAVA_HOME=/usr/jdk/instances/jdk1.6.0_24
export JAVA_HOME
CLASSPATH=.:/user1/sterus01/TestProgramsLib/mail.jar:/user1/sterus01/TestProgramsLib/activation.jar:/user1/sterus01/TestProgramsLib/log4j-1.2.16.jar:/user1/sterus01/TestProgramsLib/mail.jar:ojdbc14.jar
export CLASSPATH
env | grep DIS
# Use the bash shell, get many conveniences
bash
当我运行echo $ JAVA_HOME和echo $ PATH时,我得到了
bash-3.00$ echo $JAVA_HOME
/usr/jdk/instances/jdk1.6.0_24
bash-3.00$
和
bash-3.00$ echo $PATH
.:/usr/jdk/instances/jdk1.6.0_24:/apps1/apache-ant-1.8.4/bin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/bin:/usr/sbin:/etc:/usr/ucb:/usr/local/sudo:/usr/local/sbin:/user1/acme21
bash-3.00$
然而“哪个javac”揭示:
bash-3.00$ which javac
/usr/bin/javac
bash-3.00$
和“哪个java”显示:
bash-3.00$ which java
/usr/bin/java
bash-3.00$
我能做些什么来让它指向我在.profile文件中指定的Java版本吗?
提前致谢 节日快乐 史蒂夫
答案 0 :(得分:1)
您确定java
和javac
个可执行文件位于/usr/jdk/instances/jdk1.6.0_24
吗?也许他们在/usr/jdk/instances/jdk1.6.0_24/bin/
。
答案 1 :(得分:0)
我怀疑这个:
PATH=.:/usr/jdk/instances/jdk1.6.0_24
不对,你需要
PATH=.:/usr/jdk/instances/jdk1.6.0_24/bin
选择那个Java安装中的二进制目录。
P.S。我不会将当前目录(。)放在PATH
中。否则,有人可以在目录中替换类似木马的程序(例如,替换ls
)。当你进入包含目录并输入ls
时,你会选择它(在 Unix Power Tools 一书中有一个与此相关的有趣故事)