1.调整 Spring Boot 配置文件到 config 目录 2.移除 Maven Profiles 配置 3.调整项目打包结构,分离依赖、配置文件。如无依赖调整,部署时仅需拷贝程序包,且更方便进行配置修改 4.调整后的项目打包结构,更贴合部署安装程序结构,例如:Tomcat 安装包、Maven 安装包 5.建议在 bin 目录上一级执行程序,以使日志文件能正确生成在 logs 目录下,参考 Dockerfile
155 lines
6.3 KiB
XML
155 lines
6.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!--
|
||
Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
|
||
|
||
Licensed under the Apache License, Version 2.0 (the "License");
|
||
you may not use this file except in compliance with the License.
|
||
You may obtain a copy of the License at
|
||
|
||
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
||
Unless required by applicable law or agreed to in writing, software
|
||
distributed under the License is distributed on an "AS IS" BASIS,
|
||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
See the License for the specific language governing permissions and
|
||
limitations under the License.
|
||
-->
|
||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||
<modelVersion>4.0.0</modelVersion>
|
||
|
||
<parent>
|
||
<groupId>top.charles7c</groupId>
|
||
<artifactId>continew-admin</artifactId>
|
||
<version>${revision}</version>
|
||
</parent>
|
||
|
||
<artifactId>continew-admin-webapi</artifactId>
|
||
<packaging>jar</packaging>
|
||
|
||
<name>${project.artifactId}</name>
|
||
<description>API 模块(存放 Controller 层代码,打包部署的模块)</description>
|
||
|
||
<properties>
|
||
<!-- ### 打包配置相关 ### -->
|
||
<!-- 启动类 -->
|
||
<main-class>top.charles7c.cnadmin.ContiNewAdminApplication</main-class>
|
||
<!-- 程序 jar 输出目录 -->
|
||
<bin-path>bin</bin-path>
|
||
<!-- 配置文件输出目录 -->
|
||
<config-path>config</config-path>
|
||
<!-- 依赖 jar 输出目录 -->
|
||
<lib-path>lib</lib-path>
|
||
</properties>
|
||
|
||
<dependencies>
|
||
<!-- Liquibase(用于管理数据库版本,跟踪、管理和应用数据库变化) -->
|
||
<dependency>
|
||
<groupId>org.liquibase</groupId>
|
||
<artifactId>liquibase-core</artifactId>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-test</artifactId>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
|
||
<!-- 系统监控模块(存放系统监控模块相关功能,例如:日志管理、服务监控等) -->
|
||
<dependency>
|
||
<groupId>top.charles7c</groupId>
|
||
<artifactId>continew-admin-monitor</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 系统工具模块(存放系统工具模块相关功能,例如:代码生成、文件管理等) -->
|
||
<dependency>
|
||
<groupId>top.charles7c</groupId>
|
||
<artifactId>continew-admin-tool</artifactId>
|
||
</dependency>
|
||
</dependencies>
|
||
|
||
<build>
|
||
<!-- 设置构建的 jar 包名 -->
|
||
<finalName>${project.parent.name}</finalName>
|
||
<plugins>
|
||
<!-- 单元测试配置插件 -->
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-surefire-plugin</artifactId>
|
||
<configuration>
|
||
<!-- 跳过单元测试 -->
|
||
<skip>true</skip>
|
||
</configuration>
|
||
</plugin>
|
||
<!-- Maven 打包插件 -->
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-jar-plugin</artifactId>
|
||
<configuration>
|
||
<!-- 排除配置文件 -->
|
||
<excludes>
|
||
<exclude>${config-path}/</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</directory>
|
||
<includes>
|
||
<include>${config-path}/</include>
|
||
</includes>
|
||
</resource>
|
||
</resources>
|
||
<outputDirectory>${project.build.directory}/app</outputDirectory>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
</project> |