Java程序可以在Windows上运行,但不能在Mac上运行
我为一个朋友做了一个小程序,当我在我的Windows机器上运行它时,它运行得很好。然而,当我在他的电脑上运行时,我发现Java程序可以在Windows上运行,但不能在Mac上运行,java,command-line,Java,Command Line,我为一个朋友做了一个小程序,当我在我的Windows机器上运行它时,它运行得很好。然而,当我在他的电脑上运行时,我发现 Exception in thread "main" java.lang.NoClassDefFoundError: SupplierControl/jar Caused by: java.lang.ClassNotFoundException: SupplierControl.jar at java.net.URLClassLoader$1.run(URLClassL
Exception in thread "main" java.lang.NoClassDefFoundError: SupplierControl/jar
Caused by: java.lang.ClassNotFoundException: SupplierControl.jar
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 java.lang.ClassLoader.loadClass(ClassLoader.java:247)
不知道为什么它会在一个而不是另一个上起作用
谢谢我打赌您正在尝试使用如下命令运行它:
java SupplierControl.jar
请注意,传递给java
命令的必须是完全限定的类名。发生的情况是,Java将在包SupplierControl
中查找名为jar
的类。你不是这个意思
如果它是一个可执行的JAR,那么使用以下命令运行它:
java -jar SupplierControl.jar
我打赌您正在尝试使用如下命令运行它:
java SupplierControl.jar
请注意,传递给java
命令的必须是完全限定的类名。发生的情况是,Java将在包SupplierControl
中查找名为jar
的类。你不是这个意思
如果它是一个可执行的JAR,那么使用以下命令运行它:
java -jar SupplierControl.jar
问题在于命令的运行方式。假设它是一个“可执行”JAR文件,您应该以以下方式运行它:
$ java -jar SupplierControl.jar
但是您似乎遗漏了-jar
参数
如果省略
-jar
,则java
命令将SupplierControl.jar
解释为限定类名;i、 e.包“SupplierControl”中名为“jar”的类。当然,它找不到相应的“.class”文件。。。结果会出现一个NoClassDefFoundError
。问题在于命令的运行方式。假设它是一个“可执行”JAR文件,您应该以以下方式运行它:
$ java -jar SupplierControl.jar
但是您似乎遗漏了-jar
参数
如果省略
-jar
,则java
命令将SupplierControl.jar
解释为限定类名;i、 e.包“SupplierControl”中名为“jar”的类。当然,它找不到相应的“.class”文件。。。结果会得到一个NoClassDefFoundError
。您应该使用命令运行它
$ java -jar SupplierControl.jar
然后您正在执行jar,一切都应该正常。您应该使用命令运行它
$ java -jar SupplierControl.jar
然后您正在执行jar,一切都应该正常。错误消息指出您缺少库。您能告诉我们您在Mac和Windows中是如何运行的吗?该错误表明java认为jar文件是要运行的类的名称,而不是用-jar或类路径指定的类文件的容器。该程序是jar文件吗?您是从控制台还是通过文件资源管理器启动它?我在dropbox中有dist文件夹,然后在windows中双击它,然后在mac中尝试双击,但由于它不起作用,我执行了终端操作,从中得到了错误您缺少库,正如错误消息所述。您能告诉我们您是如何在mac vs windows中运行的吗?该错误表明java认为jar文件是要运行的类的名称,而不是用-jar或类路径指定的类文件的容器。该程序是jar文件吗?你是从控制台还是通过文件资源管理器启动它?我在dropbox中有dist文件夹,然后在windows中双击它,然后在mac上尝试双击,但由于它不起作用,我启动了终端,从中得到了错误