要让jar包是可运行的
也就是可以执行java -jar demo.jar来直接运行
需要满足两个条件

  1. 依赖的其他jar包也被一同打包进去
  2. jar包当中具备清单文件 , 指定运行的主类 在maven项目当中 , 可以借助maven-shade-plugin来实现

pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.main.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
...
<plugins>
...
</build>

这里的mainClass需要指定运行的主类是哪个
之后执行mvn clean package打包出的jar包 , 就是直接可运行的jar包了