2026-04-24 21:57:28 +08:00

406 lines
17 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<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>
<!-- 项目组织名称 -->
<groupId>com.xiaomayi</groupId>
<!-- 项目名称 -->
<artifactId>xiaomayi</artifactId>
<!-- 项目版本号 -->
<version>${revision}</version>
<!-- 项目打包类型POM代表父级分模块管理 -->
<packaging>pom</packaging>
<!-- 项目名称 -->
<name>${project.artifactId}</name>
<!-- 项目描述 -->
<description>小蚂蚁云微服务后台管理系统</description>
<!-- 模块管理 -->
<modules>
<module>xiaomayi-auth</module>
<module>xiaomayi-gateway</module>
<module>xiaomayi-modules</module>
<module>xiaomayi-services</module>
<module>xiaomayi-visual</module>
<module>xiaomayi-common</module>
</modules>
<!-- 依赖版本管理 -->
<properties>
<!-- 全局版本号(实际项目使用时可自定义) -->
<revision>3.0.0</revision>
<!-- JDK版本号 -->
<java.version>17</java.version>
<!-- spring-cloud 微服务依赖版本此版本支持3.3.x、3.2.x -->
<spring-cloud.version>2023.0.3</spring-cloud.version>
<!-- spring-boot依赖版本号(备注v3.3.0更新于20240523) -->
<spring-boot.version>3.3.0</spring-boot.version>
<!-- 指定源代码使用的JDK版本 -->
<maven.compiler.source>17</maven.compiler.source>
<!-- 指定class文件的编译版本 -->
<maven.compiler.target>17</maven.compiler.target>
<!-- 设置工程构建编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 设置编译时JDK的版本 -->
<maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
<!-- 设置编码插件版本号 -->
<maven.compiler.version>3.8.1</maven.compiler.version>
<!-- 指定字符集编码 -->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<!-- flatten版本统一管理插件版本号 -->
<flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version>
</properties>
<!-- 全局编译环境变量 -->
<profiles>
<!-- 本地开发环境 -->
<profile>
<id>local</id>
<properties>
<!-- 本地环境分支定义 -->
<package.environment>local</package.environment>
<!-- nacos注册配置中心服务地址 -->
<nacos.server>127.0.0.1:8848</nacos.server>
<!-- nacos服务注册分组 -->
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<!-- nacos服务配置分组 -->
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<!-- nacos登录账号 -->
<nacos.username>nacos</nacos.username>
<!-- nacos登录密码 -->
<nacos.password>nacos</nacos.password>
<!-- ELK日志收集服务地址 -->
<logstash.address>127.0.0.1:4560</logstash.address>
</properties>
<activation>
<!-- 设置默认开启本地环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- 开发环境 -->
<profile>
<id>dev</id>
<properties>
<!-- 开发环境分支定义 -->
<package.environment>dev</package.environment>
<!-- nacos注册配置中心服务地址 -->
<nacos.server>127.0.0.1:8848</nacos.server>
<!-- nacos服务注册分组 -->
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<!-- nacos服务配置分组 -->
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<!-- nacos登录账号 -->
<nacos.username>nacos</nacos.username>
<!-- nacos登录密码 -->
<nacos.password>nacos</nacos.password>
<!-- ELK日志收集服务地址 -->
<logstash.address>127.0.0.1:4560</logstash.address>
</properties>
</profile>
<!-- 测试环境 -->
<profile>
<id>test</id>
<properties>
<!-- 测试环境分支定义 -->
<package.environment>test</package.environment>
<!-- nacos注册配置中心服务地址 -->
<nacos.server>127.0.0.1:8848</nacos.server>
<!-- nacos服务注册分组 -->
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<!-- nacos服务配置分组 -->
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<!-- nacos登录账号 -->
<nacos.username>nacos</nacos.username>
<!-- nacos登录密码 -->
<nacos.password>nacos</nacos.password>
<!-- ELK日志收集服务地址 -->
<logstash.address>127.0.0.1:4560</logstash.address>
</properties>
</profile>
<!-- 预发布环境 -->
<profile>
<id>uat</id>
<properties>
<!-- 预发布环境分支定义 -->
<package.environment>uat</package.environment>
<!-- nacos注册配置中心服务地址 -->
<nacos.server>127.0.0.1:8848</nacos.server>
<!-- nacos服务注册分组 -->
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<!-- nacos服务配置分组 -->
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<!-- nacos登录账号 -->
<nacos.username>nacos</nacos.username>
<!-- nacos登录密码 -->
<nacos.password>nacos</nacos.password>
<!-- ELK日志收集服务地址 -->
<logstash.address>127.0.0.1:4560</logstash.address>
</properties>
</profile>
<!-- 生产环境 -->
<profile>
<id>prod</id>
<properties>
<!-- 生产环境分支定义 -->
<package.environment>prod</package.environment>
<!-- nacos注册配置中心服务地址 -->
<nacos.server>127.0.0.1:8848</nacos.server>
<!-- nacos服务注册分组 -->
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<!-- nacos服务配置分组 -->
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<!-- nacos登录账号 -->
<nacos.username>nacos</nacos.username>
<!-- nacos登录密码 -->
<nacos.password>nacos</nacos.password>
<!-- ELK日志收集服务地址 -->
<logstash.address>127.0.0.1:4560</logstash.address>
</properties>
</profile>
</profiles>
<!-- 依赖管理 -->
<dependencyManagement>
<!-- 依赖声明 -->
<dependencies>
<!-- spring-cloud 微服务依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- spring-boot 公共依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 阿里微服务公共版本定义 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-alibaba</artifactId>
<version>${revision}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 核心类库公共版本定义 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-all</artifactId>
<version>${revision}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 系统服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-system-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 用户服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-user-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- CMS内容服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-community-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 后台服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-admin-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 网站服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-web-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 用户中心服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-ucenter-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 商家服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-merchant-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 客户端服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-mobile-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 订单服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-order-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 商品服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-goods-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 案例服务API模块 -->
<dependency>
<groupId>com.xiaomayi</groupId>
<artifactId>xiaomayi-example-api</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 编译打包 -->
<build>
<!-- 设置应用打包名称 -->
<finalName>${project.name}</finalName>
<!-- 插件管理 -->
<plugins>
<!-- 配置当前项目的jdk版本信息 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.version}</version>
<configuration>
<!-- 编译时参数选项 -->
<parameters>true</parameters>
<!-- 输出编译详细细节 -->
<verbose>false</verbose>
<!-- 指定编码 -->
<encoding>UTF-8</encoding>
<!-- 指定源代码使用的JDK版本 -->
<target>${maven.compiler.target}</target>
<!-- 指定class文件的编译版本 -->
<source>${maven.compiler.source}</source>
<!-- 指定字符集编码 -->
<encoding>${maven.compiler.encoding}</encoding>
<!-- 设置编译时JDK版本号 -->
<compilerVersion>${maven.compiler.compilerVersion}</compilerVersion>
<!-- 设置跳过 -->
<skip>true</skip>
</configuration>
</plugin>
<!-- flatten统一管理版本号 -->
<plugin>
<!-- 使用flatten-maven-plugin插件 -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>${flatten-maven-plugin.version}</version>
<!-- 插件配置 -->
<configuration>
<!-- 更新原始pom.xml文件如果为true会修改原pom通常建议为false -->
<updatePomFile>true</updatePomFile>
<!-- 扁平化模式仅解析CI/CD友好的动态版本变量 -->
<flattenMode>resolveCiFriendliesOnly</flattenMode>
<!-- 定义POM文件中哪些元素需要被解析和扁平化处理 -->
<pomElements>
<!-- 解析版本号,替换占位符为实际值 -->
<version>resolve</version>
<!-- 解析groupId替换占位符为实际值 -->
<groupId>resolve</groupId>
<!-- 解析artifactId替换占位符为实际值 -->
<artifactId>resolve</artifactId>
<!-- 解析依赖声明,替换依赖中的占位符为实际值 -->
<dependencies>resolve</dependencies>
<!-- 解析依赖管理部分,替换其中的占位符为实际值 -->
<dependencyManagement>resolve</dependencyManagement>
<!-- 解析properties属性替换属性值为实际值 -->
<properties>resolve</properties>
<!-- 解析父POM引用确保父POM信息被正确解析 -->
<parent>resolve</parent>
</pomElements>
</configuration>
<!-- 插件执行配置 -->
<executions>
<!-- 第一个执行目标:执行扁平化操作 -->
<execution>
<id>flatten</id>
<!-- 在process-resources阶段执行修改后的阶段 -->
<phase>process-resources</phase>
<goals>
<!-- 执行flatten目标生成扁平化的POM文件 -->
<goal>flatten</goal>
</goals>
</execution>
<!-- 第二个执行目标:清理扁平化生成的文件 -->
<execution>
<id>flatten.clean</id>
<!-- 在clean阶段执行 -->
<phase>clean</phase>
<goals>
<!-- 执行clean目标清理生成的扁平化POM文件 -->
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<!-- 资源配置 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 关闭过滤 -->
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/webapp/</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
<!-- 开启过滤,即该资源中的变量将会被过滤器中的值替换 -->
<filtering>true</filtering>
<!-- 引入所有,匹配文件进行过滤 -->
<includes>
<include>application*</include>
<include>bootstrap*</include>
<include>logback*</include>
</includes>
</resource>
</resources>
</build>
<repositories>
<repository>
<id>public</id>
<name>aliyun nexus</name>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>aliyun nexus</name>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>