发布日期:2018-03-26
不能执行jar:“no main manifest attribute”+ 查看更多
不能执行jar:“no main manifest attribute”
+ 查看更多
发布日期:2018-03-26 10:38
分类:JAVA
浏览次数:757
问题描述:我想要安装jar,点击没有任何反应,当我使用java -jar "app.jar"命令时,提示“no main manifest attribute”¶
回答:
首先,执行jar不是java -jar app.jar而是@java -jar "app"
其次,你需要叫META-INF/MANIFEST.MF文件让你的jar是可执行的,文件本身至少有这行:
Main-Class: com.mypackage.MyClasscom.mypackage.MyClass 保存主函数进入点
有几种方式得到他通过CLI, Maven 或者 Ant:
CLI, 使用以下命令: jar cmvf META-INF/MANIFEST.MFMaven, 像这样的小片段可以做这个,需要注意的是这只是个小片段并不是完整的 pom.xml:.jar
<build> <plugins> <plugin> <!-- Build an executable JAR --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.mypackage.MyClass</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build>Ant, 像这样的小片段将会是有用的:
<jar destfile="build/main/checksites.jar"> <fileset dir="build/main/classes"/> <zipfileset includes="**/*.class" src="lib/main/some.jar"/> <manifest> <attribute name="Main-Class" value="com.acme.checksites.Main"/> </manifest> </jar>