我有一个应用程序的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