linux下设置java系统变量的问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 07:38:34
我按百度知道中的帖子介绍,在 /etc/profile文件尾部加入如下语句来设置java系统变量。
export JAVA_HOME
export PATH
export CLASSPATH
JAVA_HOME=/usr/java/jdk1.6.0_06
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
之后运行java -version可以显示java版本
但运行一个在xp下调好的java小程序,却报错(如下):
[work@localhost ~]$ java MyFirstApp.classException in thread "main" java.lang.NoClassDefFoundError: MyFirstApp/class
Caused by: java.lang.ClassNotFoundException: MyFirstApp.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInter

windows和linux没什么不同。
如果你java -version可以,则jdk的设置就没问题。
我看不到你用什么命令运行的java,应该用
java MyFirstApp
后面不要加.class!!

补充一下:
CLASSPATH 是为了指定第三方的类库,如果你只用标准的java库, 根本不需要指定CLASSPATH; 即使需要第三方的类库,sun推荐的方法也是使用java命令的-classpath 参数而不是设置CLASSPATH环境变量。但是如果已经指定了,就一定要指对,否则反而画蛇添足。

如果你不指定CLASSPATH,则当前路径(.)已经在你的classpath里了。但是常见错误是指定了一个classpath(就会覆盖掉当前路径),却没把当前路径包含进去。

所以只有PATH是必须的,JAVA_HOME是因为很多java软件需要这个变量,也算是必须的把,CLASSPATH最好不要设定

正确的安装方法如下:

1。需要设置的环境变量有两个:Path,CLASSPATH(严格区分大小写!!)

2。右键单击我的电脑,进入高级选项,点击环境变量,进入环境变量设置对话框,点击新建添加系统变量。

3。新建Path变量,值为:C:\Program Files\Java\jdk1.5.0_06\bin;(bin里有javac.exe,java.exe,applet.exe等可执行文件)

4。新建CLASSPATH变量:D:\Program Files\Java\jdk1.5.0\lib\dt.jar;D:\Program Files\Java\jdk1.5.0\lib\htmlconverter.jar;D:\Program Files\Java\jdk1.5.0\lib\tools.jar(lib下的三个.jar压缩文件,中间用分号隔开!!)

楼上的大哥,是linux。看清楚!!