如何将MAVEN构建中分离依赖的JAR成?
摘要:MAVEN构建分离依赖JAR 1. 背景说明 在Springboot项目中,项目构建时,默认打包成一个可以执行的jar包.导致单一jar过大.项目部署过程中,需要把依赖的jar包和配置文件都单独存放到指定的文件夹中. 2. 插件配置 mav
MAVEN构建分离依赖JAR
1. 背景说明
在Springboot项目中,项目构建时,默认打包成一个可以执行的jar包.导致单一jar过大.项目部署过程中,需要把依赖的jar包和配置文件都单独存放到指定的文件夹中.
2. 插件配置
maven-compiler-plugin 用于编译java代码
maven-jar-plugin 用于构建jar包
spring-boot-maven-plugin 用于构建Springboot项目
maven-assembly-plugin 用于打包项目
3. 编译配置
<!--小游戏 地心侠士 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
4. 构建jar配置
<!--小游戏 地心侠士 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<useUniqueVersions>false</useUniqueVersions>
<mainClass>com.herbert.Application</mainClass>
</manifest>
</archive>
<excludes>
<exclude>*.properties</exclude>
<exclude>*.yml</exclude>
<exclude>**/mapper/*.xml</exclude>
</excludes>
</configuration>
</plugin>
5. 构建springboot项目配置
其中主要配置 <layout>ZIP\</layout> 为关键配置,打包后的jar包对应MANIFEST.MF配置的启动类为 Main-Class: org.springframework.boot.loader.PropertiesLauncher
<!--小游戏 地心侠士 公众号:小满小慢 QQ:464884492-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
<includes>
<include>
<groupId>non-exists</groupId>
<artifactId>non-exists</artifactId>
</include>
</includes>
<excludes>
