
LINUX下JDK设置出现问题,哪位大神帮解疑惑!!!
我真的无语了!!!以前在windows下装JDK时,用命令行编译运行helloworld程序时,也是编译通过而运行时出现问题,当时在知道里面提问他们都说是环境变量设置出现...
我真的无语了!!! 以前在windows下装JDK时,用命令行编译运行helloworld程序时,也是编译通过而运行时出现问题,当时在知道里面提问他们都说是环境变量设置出现问题,但我找了很久也看不出我哪里设置错了。现在我在LINUX下安装JDK,然后也是编译正常通过,而运行时出现问题,真的是崩溃了。
首先,让大家看一下我在etc/profile文件下的环境变量设置:
JAVA_HOME=/opt/jdk1.6.0-21
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
export JAVA_HOME,PATH,CLASSPATH
然后,我在Desktop也就是桌面写了一个HelloWorld程序,编译时也是正常通过,而在运行时出现了以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
at gnu.java.lang.MainThread.run(libgcj.so.7rh)
Caused by: java.lang.ClassNotFoundException: HelloWorld not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.7rh)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at gnu.java.lang.MainThread.run(libgcj.so.7rh)
我的HelloWorld程序也是没问题的:
public class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello World!!!");
}
}
另注:我安装的JDK版本是:jdk-6u21-linux-i586-rpm.bin 展开
首先,让大家看一下我在etc/profile文件下的环境变量设置:
JAVA_HOME=/opt/jdk1.6.0-21
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
export JAVA_HOME,PATH,CLASSPATH
然后,我在Desktop也就是桌面写了一个HelloWorld程序,编译时也是正常通过,而在运行时出现了以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
at gnu.java.lang.MainThread.run(libgcj.so.7rh)
Caused by: java.lang.ClassNotFoundException: HelloWorld not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.7rh)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at gnu.java.lang.MainThread.run(libgcj.so.7rh)
我的HelloWorld程序也是没问题的:
public class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello World!!!");
}
}
另注:我安装的JDK版本是:jdk-6u21-linux-i586-rpm.bin 展开
3个回答
展开全部
环境变量有问题!把环境变量这样改:或直接cp
export JAVA_HOME=/opt/jdk1.6.0-21
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
export JAVA_HOME=/opt/jdk1.6.0-21
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
展开全部
把源文件和类文件分开放置,然后再运行你的文件试试
也就是说,原文件编译后,不要把原文件和类文件放在一起,你试下吧
也就是说,原文件编译后,不要把原文件和类文件放在一起,你试下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.export环境变量时多于一个中间用空格不用逗号
2.楼主在执行时是不是把class文件的扩展名一起打出来了,例如
java HelloWorld.class如果是这样的话肯定会出错,应该是java HelloWorld
2.楼主在执行时是不是把class文件的扩展名一起打出来了,例如
java HelloWorld.class如果是这样的话肯定会出错,应该是java HelloWorld
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询