14

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

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

请帮帮我,谢谢。

4

2 回答 2

20

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

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

Main-Class: classname

值 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 的 main 方法将执行:

java -jar MyJar.jar
于 2009-09-13T09:55:21.890 回答
-1

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

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

于 2017-07-12T08:34:55.820 回答