Java 无法运行jar文件
我使用命令创建jar文件Java 无法运行jar文件,java,Java,我使用命令创建jar文件 $jar -cvf A.jar A.class 我试着执行 $java -jar A.jar 我得到以下错误。(在将“Main class:A”添加到manifest.mf之前) MANIFEST.MF的内容 Manifest-Version: 1.0 Created-By: 1.6.0_18 (Sun Microsystems Inc.) Main-Class: A 现在我越来越紧张了 Exception in thread "main" java.lang
$jar -cvf A.jar A.class
我试着执行
$java -jar A.jar
我得到以下错误。(在将“Main class:A”添加到manifest.mf之前)
MANIFEST.MF的内容
Manifest-Version: 1.0
Created-By: 1.6.0_18 (Sun Microsystems Inc.)
Main-Class: A
现在我越来越紧张了
Exception in thread "main" java.lang.NoSuchMethodError: main
jar中还需要一个文件。通常,在创建jar时不需要指定清单文件,但当您想通过启动
java-jar
来启动jar时,必须指定自己的清单,其中详细说明了包含main()
方法的类的位置
为此,您必须创建一个包含以下行的文件:
Main-Class: A
(我假设A是包含main方法的类,如果不是,请指定所需类的FQN)
并使用以下命令创建jar:
jar cfm A.jar yourFileContainingMain-Class A.class
例如:
//Mac-Makkhdyn:~ Makkhdyn$ cat A.java
public class A{
public static void main(String... args){
System.out.println("lol");
}
}
//Mac-Makkhdyn:~ Makkhdyn$ cat manifest
Main-Class: A
//Mac-Makkhdyn:~ Makkhdyn$ javac A.java
//Mac-Makkhdyn:~ Makkhdyn$ jar cvfm A.jar manifest A.class
added manifest
adding: A.class(in = 399) (out= 278)(deflated 30%)
//Mac-Makkhdyn:~ Makkhdyn$ java -jar A.jar
lol
编辑后: 必须在要启动的
a
类中具有main()
方法。检查下面的链接
资源:
//Mac-Makkhdyn:~ Makkhdyn$ cat A.java
public class A{
public static void main(String... args){
System.out.println("lol");
}
}
//Mac-Makkhdyn:~ Makkhdyn$ cat manifest
Main-Class: A
//Mac-Makkhdyn:~ Makkhdyn$ javac A.java
//Mac-Makkhdyn:~ Makkhdyn$ jar cvfm A.jar manifest A.class
added manifest
adding: A.class(in = 399) (out= 278)(deflated 30%)
//Mac-Makkhdyn:~ Makkhdyn$ java -jar A.jar
lol