You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
6.3 KiB
162 lines
6.3 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
========================================
|
|
SLMS 四端应用打包配置
|
|
Smart Library Management System - Multi-Application Package Configuration
|
|
========================================
|
|
|
|
文件说明:
|
|
- 这是 Maven pom.xml 的 <profiles> 子节点配置
|
|
- 定义了 CLI、GUI、Web 三端应用的打包配置
|
|
- Android 应用使用 Gradle 构建,配置在 android/build.gradle
|
|
|
|
使用方法:
|
|
1. 将此文件中的 <profile> 节点复制到项目 pom.xml 的 <profiles> 标签内
|
|
2. 根据实际情况修改 mainClass 等配置
|
|
3. 使用 mvn clean package -P <profile-id> 命令打包
|
|
|
|
示例:
|
|
- CLI 打包: mvn clean package -P cli -DskipTests
|
|
- GUI 打包: mvn clean package -P gui -DskipTests
|
|
- Web 打包: mvn clean package -P web -DskipTests
|
|
|
|
版本: 1.0
|
|
日期: 2025-11-20
|
|
========================================
|
|
-->
|
|
|
|
<profiles>
|
|
<!-- ========================================
|
|
CLI 应用打包配置 (JAR)
|
|
使用: mvn clean package -P cli
|
|
======================================== -->
|
|
<profile>
|
|
<id>cli</id>
|
|
<build>
|
|
<finalName>slms-cli</finalName>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.3.0</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifest>
|
|
<mainClass>com.smartlibrary.cli.CLIApplication</mainClass>
|
|
<addClasspath>true</addClasspath>
|
|
<classpathPrefix>lib/</classpathPrefix>
|
|
</manifest>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- 复制依赖到 lib 目录 -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>3.6.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-dependencies</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${project.build.directory}/lib</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- ========================================
|
|
GUI 应用打包配置 (JAR + EXE)
|
|
使用: mvn clean package -P gui
|
|
======================================== -->
|
|
<profile>
|
|
<id>gui</id>
|
|
<build>
|
|
<finalName>slms-gui</finalName>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.3.0</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifest>
|
|
<mainClass>com.smartlibrary.gui.GUIApplication</mainClass>
|
|
<addClasspath>true</addClasspath>
|
|
</manifest>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- 使用 maven-shade-plugin 打包所有依赖到一个 JAR -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>3.5.0</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<transformers>
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
<mainClass>com.smartlibrary.gui.GUIApplication</mainClass>
|
|
</transformer>
|
|
</transformers>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- ========================================
|
|
Web 应用打包配置 (WAR)
|
|
使用: mvn clean package -P web
|
|
======================================== -->
|
|
<profile>
|
|
<id>web</id>
|
|
<build>
|
|
<finalName>slms-web</finalName>
|
|
<plugins>
|
|
<!-- Spring Boot Maven Plugin -->
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>repackage</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<mainClass>com.smartlibrary.web.WebApplication</mainClass>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Maven WAR Plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-war-plugin</artifactId>
|
|
<version>3.4.0</version>
|
|
<configuration>
|
|
<failOnMissingWebXml>false</failOnMissingWebXml>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|