shengyayun 10 X 10
shengyayun:~/blog$ source "maven打包时在META-INF/MANIFEST.MF中添加主清单属性.sh"

shengyayun:~/blog$ printenv
CREATED_DATE = 2018-05-26
UPDATED_DATE = 2018-05-26
TAGS = java : maven : manifest
CATEGORIES =

shengyayun:~/blog$ grep -lr $TAGS post
2018-05-26 maven打包时在META-INF/MANIFEST.MF中添加主清单属性
maven打包时在META-INF/MANIFEST.MF中添加主清单属性

发现问题:

默认使用mvn clean package生成的jar文件中的 MANIFEST.MF 是这样的:

1
2
3
4
Manifest-Version: 1.0
Created-By: Apache Maven 3.3.9
Built-By: shengyayun
Build-Jdk: 10.0.1

这种jar文件执行的时候会返回 xxx.jar中没有主清单属性

解决方法:

修改 pom.xml文件:

1
2
3
4
5
6
7
8
9
10
11
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifestEntries>
<Main-Class>com.shengyayun.App</Main-Class> #划重点
</manifestEntries>
</archive>
</configuration>
</plugin>

现在重新打包生成的MANIFEST.MF中多了一行Main-Class: com.shengyayun.App