使用Eclipse,我创建了一个SWT Hello World程序。我能够从Eclipse运行这个程序,它工作得很好。
在"/home/myname/workspace/HelloWorldSWT“中,我找到了两个文件: HelloWorldSWT.java和HelloWorldSWT.class。我想从命令行执行相应的程序。首先,我尝试输入"java HelloWorld“,得到以下错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
   at gnu.java.lang.MainThread.run(libgcj.so.90)
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.90)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at gnu.java.lang.MainThread.run(libgcj.so.90)我也尝试了这个"java / -cp /roman/workspace/ HelloWorld.HelloWorld“。结果,我得到了以下错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: loaded class HelloWorld.HelloWorld was in fact named HelloWorld
   at java.lang.VMClassLoader.defineClass(libgcj.so.90)
   at java.lang.ClassLoader.defineClass(libgcj.so.90)
   at java.security.SecureClassLoader.defineClass(libgcj.so.90)
   at java.net.URLClassLoader.findClass(libgcj.so.90)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at gnu.java.lang.MainThread.run(libgcj.so.90)有人知道我做错了什么吗?提前感谢您的帮助。
发布于 2010-02-17 04:58:36
转到Debug透视图,并选择您刚刚运行的程序(其中显示Terminated,exit value...在Debug选项卡中(),右键单击并选择Properties,在那里您可以看到eclipse启动的整个命令行命令。
您可以在与eclipse相同的目录中运行相同的命令(请参阅运行配置、参数、工作目录),它将正常工作。
https://stackoverflow.com/questions/2276219
复制相似问题