我开始变得非常恼火,因为每次我尝试将JAR文件添加到类路径以运行程序(在Eclipse中编译好)我得到一个“java.lang.NoClassDefFoundError”异常。 文件swt.jar和GUI.class(主类)位于同一目录中。如果我发出此命令:“java -cp swt.jar GUI”,我收到此错误消息:
线程“main”中的异常java.lang.NoClassDefFoundError:GUI引起 by:java.lang.ClassNotFoundException:GUI at java.net.URLClassLoader $ 1.run(URLClassLoader.java:202)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:190)at java.lang.ClassLoader.loadClass(ClassLoader.java:306)at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)at at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
如果我像这样制定命令:“java GUI -cp swt.jar”,它将抛出此异常:
线程“main”中的异常java.lang.NoClassDefFoundError: org / eclipse / swt / widgets /在GUI.main上显示(GUI.java:9)引起: java.lang.ClassNotFoundException:org.eclipse.swt.widgets.Display at java.net.URLClassLoader $ 1.run(URLClassLoader.java:202)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:190)at java.lang.ClassLoader.loadClass(ClassLoader.java:306)at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)at at java.lang.ClassLoader.loadClass(ClassLoader.java:247)... 1更多
我只想知道如何将.jar文件添加到mac上的运行时类路径中 所有这些命令都是在运行Mac OS X Lion的64位MacBook上从终端发出的。
答案 0 :(得分:2)
我认为,问题在于您将swt.jar指定为类路径,但您正在使用的文件不在jar中。你需要将jar和这个dir指定为类路径。
e.g。
java -cp swt.jar:./ GUI
答案 1 :(得分:0)
这个将有效,并有修改:
如果我像这样制定命令:“java GUI -cp swt.jar”
你刚刚走得不够远。您必须添加所有第三方JAR,包括Eclipse SWT和所有其他依赖项。