1、前言
在项目打包时,一般情况下依赖包不怎么改动,并且不分离依赖包的jar包很大,所以可以将项目jar和依赖包分离;在项目部署到生产环境下出现问题是,只要依赖不变,只需要替换项目jar即可。
2、实现
在启动类模块下的pom文件的<build>标签下增加如下配置:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<!--启动类path-->
<mainClass>启动类全类名</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
<manifestEntries>
<!-- 如果不指定,classpath 可能会找不到,加载资源有问题 -->
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dep</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!--依赖包路径-->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<!-- 打包后的文件名-->
<finalName>${project.artifactId}</finalName>