感谢支持
我们一直在努力

Linux JDK 段错误 环境变量的问题

linux新安装了jdk1.6,输入 javac HelloWorld.java出现“段错误”环境变量是这样设定的:


JAVA_HOME=/usr/java/jdk1.6.0_13


PATH=$PATH:$JAVA_HOME/bin


CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


export JAVA_HOME PATH CLASSPATH


在虚拟机中这样是没有错误的,但是在真实系统上就不行了。


首先确定jdk的javac在PATH目录下,也就是:/usr/java/jdk1.6.0_13/bin/javac


[root@localhost tmp]# /usr/java/jdk1.6.0_13/bin/javac HelloWorld.java


编译通过


[root@localhost tmp]# java HelloWorld


HelloWorld!


出现结果


这就说明按照设置的$PATH,并没有找到jdk的javac。


[root@localhost /tmp]$ echo $PATH


/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/java/jdk1.6.0_13/bin


可以看到JDK的PATH在最后面。


[root@localhost tmp]$ which javac (在环境变量$PATH设置的目录里查找符合条件的文件。)


你可以看到有一串的javac文件,除了一个是jdk的,其余都是系统自带的。


因此把上面的PATH=$PATH:$JAVA_HOME/bin改


PATH=$JAVA_HOME/bin:$PATH就可以了。


注:PATH=$PATH:$JAVA_HOME/bin 意思是PATH先从系统的PATH变量找,再找jdk的。


PATH=$JAVA_HOME/bin:$PATH 是从jdk先找,再找系统的。


还有个最根本的问题:为什么在虚拟机上完全安装linux没有出现这个问题,而在真实机器上安装就有这个问题呢?

赞(0) 打赏
转载请注明出处:服务器评测 » Linux JDK 段错误 环境变量的问题
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏