mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-11-13 16:57:08 +08:00
build: 重构打包配置以同时支持胖包和瘦包模式
This commit is contained in:
@@ -81,82 +81,134 @@
|
|||||||
<!-- 设置构建的 jar 包名 -->
|
<!-- 设置构建的 jar 包名 -->
|
||||||
<finalName>${project.parent.name}</finalName>
|
<finalName>${project.parent.name}</finalName>
|
||||||
<plugins>
|
<plugins>
|
||||||
<!-- Maven 打包插件 -->
|
<!-- Spring Boot 可执行 JAR 打包插件 -->
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>maven-jar-plugin</artifactId>
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<!-- 排除配置文件 -->
|
<includeSystemScope>true</includeSystemScope>
|
||||||
<excludes>
|
<skip>${skip.boot.repackage}</skip>
|
||||||
<exclude>${config-path}</exclude>
|
|
||||||
<exclude>db/</exclude>
|
|
||||||
<exclude>templates/</exclude>
|
|
||||||
<exclude>logback-spring.xml</exclude>
|
|
||||||
</excludes>
|
|
||||||
<archive>
|
|
||||||
<manifest>
|
|
||||||
<mainClass>${main-class}</mainClass>
|
|
||||||
<!-- 为 MANIFEST.MF 中的 Class-Path 加入依赖 jar 目录前缀 -->
|
|
||||||
<classpathPrefix>../${lib-path}</classpathPrefix>
|
|
||||||
<addClasspath>true</addClasspath>
|
|
||||||
<!-- jar 包不包含唯一版本标识 -->
|
|
||||||
<useUniqueVersions>false</useUniqueVersions>
|
|
||||||
</manifest>
|
|
||||||
<manifestEntries>
|
|
||||||
<!--为 MANIFEST.MF 中的 Class-Path 加入配置文件目录前缀 -->
|
|
||||||
<Class-Path>../${config-path}</Class-Path>
|
|
||||||
</manifestEntries>
|
|
||||||
</archive>
|
|
||||||
<outputDirectory>${project.build.directory}/app/${bin-path}</outputDirectory>
|
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
|
||||||
<!-- 拷贝依赖 jar -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-dependency-plugin</artifactId>
|
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>copy-dependencies</id>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
<goals>
|
||||||
<goal>copy-dependencies</goal>
|
<goal>repackage</goal>
|
||||||
</goals>
|
</goals>
|
||||||
<configuration>
|
|
||||||
<outputDirectory>${project.build.directory}/app/${lib-path}</outputDirectory>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<!-- 拷贝配置文件 -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>copy-resources</id>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>copy-resources</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<resources>
|
|
||||||
<resource>
|
|
||||||
<directory>src/main/resources/${config-path}</directory>
|
|
||||||
</resource>
|
|
||||||
<resource>
|
|
||||||
<directory>src/main/resources</directory>
|
|
||||||
<includes>
|
|
||||||
<include>db/</include>
|
|
||||||
<include>templates/</include>
|
|
||||||
<include>logback-spring.xml</include>
|
|
||||||
</includes>
|
|
||||||
</resource>
|
|
||||||
</resources>
|
|
||||||
<outputDirectory>${project.build.directory}/app/${config-path}</outputDirectory>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
|
<profiles>
|
||||||
|
<!-- 默认 Spring Boot 胖包 模式 -->
|
||||||
|
<profile>
|
||||||
|
<id>fat_jar</id>
|
||||||
|
<properties>
|
||||||
|
<skip.boot.repackage>false</skip.boot.repackage>
|
||||||
|
</properties>
|
||||||
|
</profile>
|
||||||
|
|
||||||
|
<!-- 瘦包 模式(可执行 JAR + lib + config) -->
|
||||||
|
<profile>
|
||||||
|
<id>slim_jar</id>
|
||||||
|
<!--默认-->
|
||||||
|
<activation>
|
||||||
|
<activeByDefault>true</activeByDefault>
|
||||||
|
</activation>
|
||||||
|
<properties>
|
||||||
|
<skip.boot.repackage>true</skip.boot.repackage>
|
||||||
|
|
||||||
|
<!-- 路径变量 -->
|
||||||
|
<lib-path>lib/</lib-path>
|
||||||
|
<config-path>config/</config-path>
|
||||||
|
<bin-path>bin/</bin-path>
|
||||||
|
<!-- 启动类 -->
|
||||||
|
<main-class>top.continew.admin.ContiNewAdminApplication</main-class>
|
||||||
|
</properties>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<!-- 分离打包 JAR(不包含依赖) -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<!-- 排除配置文件 -->
|
||||||
|
<excludes>
|
||||||
|
<exclude>${config-path}</exclude>
|
||||||
|
<exclude>db/</exclude>
|
||||||
|
<exclude>templates/</exclude>
|
||||||
|
<exclude>logback-spring.xml</exclude>
|
||||||
|
</excludes>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<mainClass>${main-class}</mainClass>
|
||||||
|
<!-- 为 MANIFEST.MF 中的 Class-Path 加入依赖 jar 目录前缀 -->
|
||||||
|
<classpathPrefix>../${lib-path}</classpathPrefix>
|
||||||
|
<addClasspath>true</addClasspath>
|
||||||
|
<!-- jar 包不包含唯一版本标识 -->
|
||||||
|
<useUniqueVersions>false</useUniqueVersions>
|
||||||
|
</manifest>
|
||||||
|
<manifestEntries>
|
||||||
|
<!--为 MANIFEST.MF 中的 Class-Path 加入配置文件目录前缀 -->
|
||||||
|
<Class-Path>../${config-path}</Class-Path>
|
||||||
|
</manifestEntries>
|
||||||
|
</archive>
|
||||||
|
<outputDirectory>${project.build.directory}/app/${bin-path}</outputDirectory>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- 拷贝依赖 jar -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-dependencies</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/app/${lib-path}</outputDirectory>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- 拷贝配置文件 -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-resources</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources/${config-path}</directory>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<includes>
|
||||||
|
<include>db/</include>
|
||||||
|
<include>templates/</include>
|
||||||
|
<include>logback-spring.xml</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
<outputDirectory>${project.build.directory}/app/${config-path}</outputDirectory>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
||||||
</project>
|
</project>
|
||||||
Reference in New Issue
Block a user