“找不到主类:XX。程序将退出。

2022-09-04 02:20:52

我已经设法使用命令提示符运行我的jar文件,但它总是给我一个回复

找不到主类:XX。程序将退出。

请帮帮我,谢谢。


答案 1

请参见设置应用程序的入口点

如果将应用程序捆绑在 JAR 文件中,则需要某种方法来指示 JAR 文件中的哪个类是应用程序的入口点。您可以使用清单中的 Main-Class 标头提供此信息,该标头具有常规形式:

Main-Class: classname

值类名是作为应用程序入口点的类的名称。

回想一下,入口点是一个具有签名方法的类

 public static void main(String[] args).

在清单中设置 Main-Class 标头后,使用以下形式的 java 命令运行 JAR 文件:

java -jar JAR-name

执行 Main-Class 标头中指定的类的 main 方法。


我们首先创建一个名为 Manifest 的文本文件.txt其中包含以下内容:

Main-Class: MyPackage.MyClass

警告:文本文件必须以新行或回车符结尾。如果最后一行不以新行或回车符结尾,则不会正确解析它。

然后,我们通过输入以下命令创建一个名为 MyJar 的 JAR 文件.jar:

jar cfm MyJar.jar Manifest.txt MyPackage/*.class

这将创建具有以下内容的清单的 JAR 文件:

Manifest-Version: 1.0
Created-By: 1.6.0 (Sun Microsystems Inc.)
Main-Class: MyPackage.MyClass

使用以下命令运行 JAR 文件时,将执行 MyClass 的主方法:

java -jar MyJar.jar

答案 2

我遇到了同样的错误。问题是Windows 10突然决定将我的工作区文件夹设置为只读。

删除文件夹选项中的只读复选标记后,问题已解决。


推荐