Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Mac OS X上将.jar文件添加到类路径?_Java - Fatal编程技术网

Java 如何在Mac OS X上将.jar文件添加到类路径?

Java 如何在Mac OS X上将.jar文件添加到类路径?,java,Java,我开始变得非常恼火,因为每次我试图向类路径添加一个JAR文件来运行一个程序(在Eclipse中编译得很好),我都会得到一个“java.lang.NoClassDefFoundError”异常。 文件swt.jar和GUI.class(主类)位于同一目录中。如果我发出以下命令:“java-cp swt.jar GUI”,我会收到以下错误消息: 线程“main”java.lang.NoClassDefFoundError中出现异常:GUI导致 by:java.lang.ClassNotFoundEx

我开始变得非常恼火,因为每次我试图向类路径添加一个JAR文件来运行一个程序(在Eclipse中编译得很好),我都会得到一个“java.lang.NoClassDefFoundError”异常。 文件swt.jar和GUI.class(主类)位于同一目录中。如果我发出以下命令:“java-cp swt.jar GUI”,我会收到以下错误消息:

线程“main”java.lang.NoClassDefFoundError中出现异常:GUI导致 by:java.lang.ClassNotFoundException:GUI位于 java.net.URLClassLoader$1.run(URLClassLoader.java:202)位于 java.security.AccessController.doPrivileged(本机方法)位于 java.net.URLClassLoader.findClass(URLClassLoader.java:190)位于 loadClass(ClassLoader.java:306)位于 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)位于 loadClass(ClassLoader.java:247)

如果我这样表述命令:“javagui-cpswt.jar”,它将抛出以下异常:

线程“main”java.lang.NoClassDefFoundError中出现异常: org/eclipse/swt/widgets/Display at GUI.main(GUI.java:9)由以下原因引起: java.lang.ClassNotFoundException:org.eclipse.swt.widgets.Display at java.net.URLClassLoader$1.run(URLClassLoader.java:202)位于 java.security.AccessController.doPrivileged(本机方法)位于 java.net.URLClassLoader.findClass(URLClassLoader.java:190)位于 loadClass(ClassLoader.java:306)位于 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)位于 loadClass(ClassLoader.java:247)。。。还有一个

我只想知道如何将.jar文件添加到mac上的运行时类路径。

所有这些命令都是从运行Mac OS X Lion的64位MacBook上的终端发出的。

此命令可以工作,但需要修改:

如果我这样表述命令:“javagui-cpswt.jar”


你只是走得不够远。您必须添加所有第三方jar,包括用于Eclipse SWT和所有其他依赖项的jar。

我认为,问题是您将SWT.jar指定为类路径,但您使用的文件不在jar中。您需要指定jar和这个目录作为类路径

e、 g


java-cp swt.jar:./GUI

我不确定我是否理解。。。在Eclipse中,我添加到构建路径的唯一.jar文件是swt.jar,它是我从中导入类的唯一.jar文件。Eclipse对您隐藏了一些东西—它在幕后为您做一些事情。如果您不打算使用Eclipse,您必须理解并重新创建它为您所做的事情。谢谢,这真的帮了大忙:)。下面是我使用的确切命令行选项(有效):“java-d32-XstartOnFirstThread-cp swt.jar:.GUI”