Java jar file load error Error: Could not find or load main class Something.class Caused by: java.lang.ClassNotFoundException: Something.class
Java jar file load error Error: Could not find or load main class Something.class Caused by: java.lang.ClassNotFoundException: Something.class
Main class 运行 不在 jar 文件中时。它不是任何包的一部分。当我尝试制作一个 jar 文件来封装它以及支持该文件的所有库时:
jar -cvf Something.jar src\*.class
然后尝试 运行 它使用:
java -jar Something.jar
我得到以下信息,即使详细消息显示 'added manifest'。
no main manifest attribute, in Something.jar.
如果我查看它创建的清单,我会得到:
Manifest-Version: 1.0
Created-By: 13.0.1 (AdoptOpenJDK)
但没有 Main-Class: Something.class 语句。
如果我添加 jar 文件的入口点:
jar -cvef src\Something.class Something.jar src\*.class
我收到以下错误:
Error: Could not find or load main class src\Something.class
Caused by: java.lang.ClassNotFoundException: src\Something.class
我使用以下方法得到相同的结果:
jar -cvef Something.class Something.jar src\*.class
我看到已经添加了入口点,因为 jar 文件的扩展在 MANIFEST.MF
中显示了以下内容
Manifest-Version: 1.0
Created-By: 13.0.1 (AdoptOpenJDK)
Main-Class: Something.class
以下是整个项目的开始class。
public class Something {
public static void main(String[] args) {
IDiffPresenter presenter = new DiffPresenter();
}
}
我该如何解决这个问题?
答案最初被忽略了。
cd src
是关键成分。
javac Something.java
jar -cvef Something Something.jar *.class
java -jar Something.jar
感谢 user16320675 的回答。我所能做的就是给你的评论点赞。
Main class 运行 不在 jar 文件中时。它不是任何包的一部分。当我尝试制作一个 jar 文件来封装它以及支持该文件的所有库时:
jar -cvf Something.jar src\*.class
然后尝试 运行 它使用:
java -jar Something.jar
我得到以下信息,即使详细消息显示 'added manifest'。
no main manifest attribute, in Something.jar.
如果我查看它创建的清单,我会得到:
Manifest-Version: 1.0
Created-By: 13.0.1 (AdoptOpenJDK)
但没有 Main-Class: Something.class 语句。
如果我添加 jar 文件的入口点:
jar -cvef src\Something.class Something.jar src\*.class
我收到以下错误:
Error: Could not find or load main class src\Something.class
Caused by: java.lang.ClassNotFoundException: src\Something.class
我使用以下方法得到相同的结果:
jar -cvef Something.class Something.jar src\*.class
我看到已经添加了入口点,因为 jar 文件的扩展在 MANIFEST.MF
中显示了以下内容Manifest-Version: 1.0
Created-By: 13.0.1 (AdoptOpenJDK)
Main-Class: Something.class
以下是整个项目的开始class。
public class Something {
public static void main(String[] args) {
IDiffPresenter presenter = new DiffPresenter();
}
}
我该如何解决这个问题?
答案最初被忽略了。
cd src
是关键成分。
javac Something.java
jar -cvef Something Something.jar *.class
java -jar Something.jar
感谢 user16320675 的回答。我所能做的就是给你的评论点赞。