大四寒假日期汇报2.21
java运行jar命令提示没有主清单属性
两个解决办法:
(1)使用解压软件打开jar包,打开META-INF文件夹下的MANIFEST.MF文件,在其中添加Main-Class: XXXX,其中Main-Class:的冒号后面需要有一个空格,XXXX为主程序入口的java类名
参考文章:https://jingyan.baidu.com/article/db55b60990f6084ba30a2fb8.html
(2)此方法为Maven项目打包,在pom.xml文件中添加
<mainClass>Window.FrameWindow</mainClass> <!-- 此处为主入口-->
但是不是单独添加,而且maven项目如果使用IDEA打包的话,即使添加了也不起作用,必须使用maven自己的打包才可以。
<plugins> <plugin> <!-- 此处为maven项目打包所需要引入的jar包,这是第一种方法,此方法不会将依赖的jar包打包到目标jar包中--> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>Window.FrameWindow</mainClass> <!-- 此处为主入口--> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>7</source> <target>7</target> </configuration> </plugin> <plugin> <!--此处为maven项目打包所需要引入的jar包,这是另一种方法--> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <!-- 此处为程序的入口(main方法所在类)--> <mainClass>Window.FrameWindow</mainClass> </manifest> </archive> <descriptorRefs> <!-- 将依赖的jar包也打包到目标jar包中--> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution><!-- 配置执行器 --> <!-- 此处必须填写,不填写将不会将依赖的jar打包到目标jar包中--> <!-- assembly插件--> <id>make-assembly</id> <phase>package</phase><!-- 绑定到package生命周期阶段上 --> <goals> <goal>single</goal><!-- 只运行一次 --> </goals> </execution> </executions> </plugin> </plugins>