GeXiangDong

精通Java、SQL、Spring的拼写,擅长Linux、Windows的开关机

0%

制作单个文件并可执行的jar

通过maven可以把依赖的各种jar和自己的程序都打包成一个jar,这样在部署的时候就非常方便了,这点在做可执行的jar包时就更方便了。
这依赖一个maven的插件:shade

在pom里配置shade插件即可:

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>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<!-- 下面这个改成运行jar包时需要执行的java类 -->
<mainClass>cn.devmgr.spider.Application</mainClass>
</transformer>
</transformers>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

使用 mvn package 打包时,就可以把所有依赖的jar都打包到一个jar里了。要运行只需要 java -jar xxx.jar 不用在classpath参数里写一大堆jar了,是不是很方便?

shade插件还可以配置排除/包含某些jar包。