我已经设法使用命令提示符运行我的jar文件,但它总是给我一个响应
无法找到主要类:XX。程序将退出。
请帮助我,谢谢。
答案 0 :(得分:19)
请参阅Setting an Application's Entry Point
如果您的应用程序捆绑在JAR文件中,则需要某种方法来指示JAR文件中的哪个类是应用程序的入口点。您可以使用清单中的Main-Class标头提供此信息,该标头具有以下一般形式:
Main-Class: classname
值classname是应用程序入口点的类的名称。
回想一下,入口点是一个具有签名方法的类
public static void main(String[] args).
在清单中设置Main-Class标头后,使用以下形式的java命令运行JAR文件:
java -jar JAR-name
执行Main-Class标头中指定的类的主要方法。
我们首先创建一个名为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
答案 1 :(得分:-1)
我有同样的错误。问题是Windows 10突然决定将我的工作区文件夹设置为只读。
删除文件夹选项中的只读复选标记后,问题就解决了。