仅限 Mac:找不到或加载主类



我有一个应用程序的jar文件。 当我使用java -cp "jarfile.jar" com.my.MainClass运行它时,它工作得很好,但如果我把它交给其他开发人员,有一个明显的情况,我会收到此错误:

Error: Could not find or load main class com.my.MainClass
Caused by: java.lang.ClassNotFoundException: com.my.MainClass

就是这样,只是在Mac上不起作用。(窗户很好(

苹果爪哇版本:

openjdk version “11.0.2” 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

Windows java版本:

openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

我没有任何太阳。仅在java.util,java.net,java.io,java.nioorg.junit(捆绑在jar中(下查找依赖项。

如有必要,很乐意提供更多信息,只是不知道缺少什么。

您可以尝试一下并确保您必须位于com目录的父文件夹中 从您的问题中,主类在以下包层次结构中 com->my->MainClass.java 和你的类文件 MainClass.class 也将出现在同一个包层次结构中。

运行此 MainClass 时,您必须位于 com 文件夹的父目录中,并尝试以下命令进行编译或运行

在窗口中:- 用于编译(确保在 COM 目录的父文件夹中执行此命令(

javac -cp "jarfile.jar;." com\my\MainClass.java

Java -cp "jarfile.jar;." com.my.MainClass

适用于 Mac 或 linux(确保在 com 目录的父文件夹中执行此命令(

javac -cp "jarfile.jar:." com/my/MainClass.java

Java -cp "jarfile.jar:." com.my.MainClass

最新更新