<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright (c) 2020-2030 ZHENGGENGWEI(码匠君)<herodotus@aliyun.com>
  ~
  ~ Dante Engine 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.
  ~
  ~ Dante Engine 采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
  ~
  ~ 1.请不要删除和修改根目录下的LICENSE文件。
  ~ 2.请不要删除和修改 Dante Engine 源码头部的版权声明。
  ~ 3.请保留源码和相关描述文件的项目出处，作者声明等。
  ~ 4.分发源码时候，请注明软件出处 https://gitee.com/herodotus/dante-engine
  ~ 5.在修改包名，模块名称，项目代码等时，请注明软件出处 https://gitee.com/herodotus/dante-engine
  ~ 6.若您的项目无法满足以上几点，可申请商业授权
  -->

<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>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.8</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>cn.herodotus.engine</groupId>
    <artifactId>dependencies</artifactId>
    <version>2.7.8.0</version>
    <packaging>pom</packaging>

    <description>基于 Spring Authorization Server 的 Dante Cloud Dependencies</description>
    <url>https://github.com/dromara/dante-cloud</url>

    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>https://www.apache.org/licenses/LICENSE-2.0</url>
            <comments>Copyright (c) 2020-2030 ZHENGGENGWEI(码匠君) 'herodotus@aliyun.com'.

                Dante Engine 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

                https://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.</comments>
        </license>
    </licenses>
    <scm>
        <url>https://github.com/dromara/dante-cloud</url>
        <connection>scm:git:git://github.com/dromara/dante-cloud.git</connection>
        <developerConnection>scm:git:ssh://github.com/dromara/dante-cloud.git</developerConnection>
        <tag>HEAD</tag>
    </scm>
    <organization>
        <name>Dromara</name>
        <url>https://github.com/dromara</url>
    </organization>
    <developers>
        <developer>
            <id>herodotus-cloud</id>
            <name>Herodotus</name>
            <email>herodotus@aliyun.com</email>
            <url>https://www.herodotus.cn</url>
            <timezone>+8</timezone>
            <organization>dromara</organization>
            <organizationUrl>https://github.com/dromara</organizationUrl>
        </developer>
    </developers>

    <!-- ${basedir} 项目根目录 -->
    <!-- ${project.build.directory} 构建目录，缺省为target -->
    <!-- ${project.build.outputDirectory} 构建过程输出目录，缺省为target/classes -->
    <!-- ${project.build.finalName} 产出物名称，缺省为${project.artifactId}-${project.version} -->
    <!-- ${project.packaging} 打包类型，缺省为jar -->
    <!-- ${project.xxx} 当前pom文件的任意节点的内容 如project.artifactId -->

    <properties>
        <java.version>1.8</java.version>
        <resource.delimiter>@</resource.delimiter>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <dante-engine.version>${project.version}</dante-engine.version>
        <!--Spring 家族-->
        <spring-boot-admin.version>2.7.10</spring-boot-admin.version>
        <spring-boot-dependencies.version>2.7.8</spring-boot-dependencies.version>
        <spring-cloud-dependencies.version>2021.0.5</spring-cloud-dependencies.version>
        <spring-cloud-alibaba-dependencies.version>2021.0.4.0</spring-cloud-alibaba-dependencies.version>
        <spring-security-oauth2-authorization-server.version>0.4.0</spring-security-oauth2-authorization-server.version>

        <!--Maven Plugin 相关组件-->
        <archetype-packaging.verison>3.2.1</archetype-packaging.verison>
        <docker-maven-plugin.version>0.40.3</docker-maven-plugin.version>
        <mapstruct-processor.version>1.5.3.Final</mapstruct-processor.version>
        <maven-archetype-plugin.version>3.2.1</maven-archetype-plugin.version>
        <maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
        <maven-embedder.version>3.8.7</maven-embedder.version>
        <maven-compat.version>3.8.7</maven-compat.version>
        <maven-invoker.verison>3.2.0</maven-invoker.verison>

        <!--开源通用工具包-->
        <antisamy.version>1.7.2</antisamy.version>
        <bcprov-jdk15to18.version>1.72</bcprov-jdk15to18.version>
        <commons-collections4.version>4.4</commons-collections4.version>
        <commons-text.version>1.10.0</commons-text.version>
        <commons-beanutils.version>1.9.4</commons-beanutils.version>
        <commons-io.version>2.11.0</commons-io.version>
        <guava.version>31.1-jre</guava.version>

        <!-- 应用开发辅助工具组件 -->
        <redisson.version>3.19.1</redisson.version>
        <p6spy.version>3.9.1</p6spy.version>
        <springdoc.version>1.6.14</springdoc.version>
        <logstash-logback-encoder.version>7.2</logstash-logback-encoder.version>
        <skywalking.version>8.13.0</skywalking.version>
        <minio.version>8.5.1</minio.version>


        <!-- 阿里巴巴开源工具依赖 -->
        <fastjson.version>1.2.83</fastjson.version>
        <fastjson2.version>2.0.23</fastjson2.version>
        <jetcache.version>2.7.3</jetcache.version>
        <nacos.version>2.2.0</nacos.version>
        <transmittable-thread-local.version>2.14.2</transmittable-thread-local.version>

        <!-- 国内开源通用组件 -->
        <hutool.version>5.8.11</hutool.version>
        <okhttps.version>4.0.0</okhttps.version>
        <weixin-java-sdk.version>4.4.8.B</weixin-java-sdk.version>
        <just-auth.verison>1.16.5</just-auth.verison>
        <knife4j.version>3.0.3</knife4j.version>

        <!--第三方starter-->
        <jasypt-spring-boot-starter.version>3.0.5</jasypt-spring-boot-starter.version>
        <camunda-bpm-spring-boot-starter-rest.version>7.18.0</camunda-bpm-spring-boot-starter-rest.version>
        <mybatis-plus-boot-starter.version>3.5.3.1</mybatis-plus-boot-starter.version>
        <mybatis-plus-generator.version>3.5.3.1</mybatis-plus-generator.version>
        <mybatis.version>3.5.11</mybatis.version>
        <velocity.version>2.3</velocity.version>

        <!--厂商SDK集成-->
        <!--SMS SDK-->
        <aliyun-java-sdk-core.version>4.6.3</aliyun-java-sdk-core.version>
        <dysmsapi20170525.version>2.0.23</dysmsapi20170525.version>
        <tencentcloud-sdk-java.version>3.1.681</tencentcloud-sdk-java.version>
        <com.jdcloud.sdk.version>1.3.3</com.jdcloud.sdk.version>
        <qiniu-java-sdk.version>7.12.1</qiniu-java-sdk.version>
        <yunpian-java-sdk.version>1.2.7</yunpian-java-sdk.version>
        <!--支付 SDK-->
        <alipay-sdk-java.version>4.35.37.ALL</alipay-sdk-java.version>
        <!--第三方应用集成SDK-->
        <com.baidu.aip.version>4.16.13</com.baidu.aip.version>
        <aliyun-java-sdk-green.version>3.6.6</aliyun-java-sdk-green.version>
        <aliyun-sdk-oss.version>3.16.0</aliyun-sdk-oss.version>

        <!--以下为 JDK 17 兼容性处理-->
        <xnio.version>3.8.8.Final</xnio.version>
        <!--okio 最新版本在 JDK 17 下会出错误-->
        <okio.version>2.10.0</okio.version>
        <okhttp3.version>4.10.0</okhttp3.version>
        <!--以下为包依赖的特殊处理-->
        <bcprov-jdk15on.version>1.70</bcprov-jdk15on.version>
        <bcpkix-jdk15on.version>1.70</bcpkix-jdk15on.version>
        <tea-xml.version>0.1.5</tea-xml.version>
        <dom4j.version>2.1.3</dom4j.version>
        <postgresql.version>42.5.1</postgresql.version>
        <log4j2.version>2.19.0</log4j2.version>
        <snakeyaml.version>1.33</snakeyaml.version>
        <jackson-bom.version>2.14.1</jackson-bom.version>

    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- Spring Dependencies -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud-dependencies.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba-dependencies.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-starter-server</artifactId>
                <version>${spring-boot-admin.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-oauth2-authorization-server</artifactId>
                <version>${spring-security-oauth2-authorization-server.version}</version>
            </dependency>

            <!-- Dante Engine -->
            <!-- access -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>access-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>access-sdk-justauth</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>access-sdk-wxapp</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>access-sdk-wxmpp</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>access-sdk-all</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>access-spring-boot-starter</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- assistant -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>assistant-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>assistant-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- cache -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>cache-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>cache-sdk-jetcache</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>cache-sdk-redis</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>cache-sdk-caffeine</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>cache-sdk-redisson</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>cache-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- captcha -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>captcha-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>captcha-sdk-behavior</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>captcha-sdk-graphic</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>captcha-sdk-hutool</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>captcha-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- data -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>data-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>data-sdk-jpa</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>data-sdk-p6spy</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>data-sdk-mybatis-plus</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>data-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- event -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>event-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>event-message-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>event-pay-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>event-security-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- facility -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>facility-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>facility-sdk-log</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>facility-sdk-sentinel</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>facility-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- message -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>message-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>message-sdk-mailing</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>message-sdk-websocket</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>message-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- nosql -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>nosql-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>nosql-sdk-couchdb</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>nosql-sdk-influxdb</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- oauth2 -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>oauth2-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>oauth2-sdk-data-jpa</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>oauth2-sdk-authentication</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>oauth2-sdk-authentication-server</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>oauth2-sdk-authorization</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>oauth2-sdk-compliance</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- oss -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>oss-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>oss-sdk-minio</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>oss-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- pay -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>pay-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>pay-sdk-alipay</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>pay-sdk-wxpay</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>pay-sdk-all</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>pay-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- rest -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>rest-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>rest-sdk-protect</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>rest-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- sms -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-sdk-aliyun</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-sdk-chinamobile</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-sdk-huawei</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-sdk-jd</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-sdk-netease</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-sdk-qiniu</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-sdk-tencent</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-sdk-upyun</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-sdk-yunpian</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-sdk-all</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>sms-spring-boot-starter</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- web -->
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>web-core</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>web-sdk-rest</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>web-sdk-scan</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.herodotus.engine</groupId>
                <artifactId>web-spring-boot-starter</artifactId>
                <version>${dante-engine.version}</version>
            </dependency>

            <!-- Maven 相关依赖 -->
            <!-- https://mvnrepository.com/artifact/org.apache.maven/maven-embedder -->
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-embedder</artifactId>
                <version>${maven-embedder.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.maven/maven-compat -->
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-compat</artifactId>
                <version>${maven-compat.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.maven.shared/maven-invoker -->
            <dependency>
                <groupId>org.apache.maven.shared</groupId>
                <artifactId>maven-invoker</artifactId>
                <version>${maven-invoker.verison}</version>
            </dependency>

            <!-- 开源通用工具包 -->
            <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>${commons-collections4.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-text -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>${commons-text.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml -->
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-yaml</artifactId>
                <version>${jackson-bom.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310 -->
            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jsr310</artifactId>
                <version>${jackson-bom.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jdk8 -->
            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jdk8</artifactId>
                <version>${jackson-bom.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-kotlin -->
            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-kotlin</artifactId>
                <version>${jackson-bom.version}</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/org.owasp.antisamy/antisamy -->
            <dependency>
                <groupId>org.owasp.antisamy</groupId>
                <artifactId>antisamy</artifactId>
                <version>${antisamy.version}</version>
            </dependency>

            <!-- 应用开发辅助工具组件 -->
            <!-- https://mvnrepository.com/artifact/org.redisson/redisson -->
            <dependency>
                <groupId>org.redisson</groupId>
                <artifactId>redisson</artifactId>
                <version>${redisson.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-common -->
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-common</artifactId>
                <version>${springdoc.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-ui -->
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-ui</artifactId>
                <version>${springdoc.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-webflux-ui -->
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-webflux-ui</artifactId>
                <version>${springdoc.version}</version>
            </dependency>

            <dependency>
                <groupId>p6spy</groupId>
                <artifactId>p6spy</artifactId>
                <version>${p6spy.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/net.logstash.logback/logstash-logback-encoder -->
            <dependency>
                <groupId>net.logstash.logback</groupId>
                <artifactId>logstash-logback-encoder</artifactId>
                <version>${logstash-logback-encoder.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.skywalking/apm-toolkit-logback-1.x -->
            <dependency>
                <groupId>org.apache.skywalking</groupId>
                <artifactId>apm-toolkit-logback-1.x</artifactId>
                <version>${skywalking.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.skywalking/apm-toolkit-trace -->
            <dependency>
                <groupId>org.apache.skywalking</groupId>
                <artifactId>apm-toolkit-trace</artifactId>
                <version>${skywalking.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/io.minio/minio -->
            <dependency>
                <groupId>io.minio</groupId>
                <artifactId>minio</artifactId>
                <version>${minio.version}</version>
            </dependency>


            <!-- 阿里巴巴开源工具依赖 -->
            <dependency>
                <groupId>com.alibaba.nacos</groupId>
                <artifactId>nacos-client</artifactId>
                <version>${nacos.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.alicp.jetcache/jetcache-starter-redis -->
            <dependency>
                <groupId>com.alicp.jetcache</groupId>
                <artifactId>jetcache-starter-redis-lettuce</artifactId>
                <version>${jetcache.version}</version>
            </dependency>

            <!-- 国内开源通用组件 -->
            <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>${hutool.version}</version>
            </dependency>

            <dependency>
                <groupId>cn.zhxu</groupId>
                <artifactId>okhttps-jackson</artifactId>
                <version>${okhttps.version}</version>
            </dependency>

            <dependency>
                <groupId>cn.zhxu</groupId>
                <artifactId>okhttps-gson</artifactId>
                <version>${okhttps.version}</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/me.zhyd.oauth/JustAuth -->
            <dependency>
                <groupId>me.zhyd.oauth</groupId>
                <artifactId>JustAuth</artifactId>
                <version>${just-auth.verison}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.github.binarywang/weixin-java-miniapp -->
            <dependency>
                <groupId>com.github.binarywang</groupId>
                <artifactId>weixin-java-miniapp</artifactId>
                <version>${weixin-java-sdk.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.binarywang</groupId>
                <artifactId>weixin-java-mp</artifactId>
                <version>${weixin-java-sdk.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.github.binarywang/weixin-java-pay -->
            <dependency>
                <groupId>com.github.binarywang</groupId>
                <artifactId>weixin-java-pay</artifactId>
                <version>${weixin-java-sdk.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.github.xiaoymin/knife4j-springdoc-ui -->
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-springdoc-ui</artifactId>
                <version>${knife4j.version}</version>
            </dependency>


            <!-- 第三方Starter -->
            <dependency>
                <groupId>org.camunda.bpm.springboot</groupId>
                <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
                <version>${camunda-bpm-spring-boot-starter-rest.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.github.ulisesbocchio/jasypt-spring-boot-starter -->
            <dependency>
                <groupId>com.github.ulisesbocchio</groupId>
                <artifactId>jasypt-spring-boot-starter</artifactId>
                <version>${jasypt-spring-boot-starter.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus-boot-starter.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-generator -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-generator</artifactId>
                <version>${mybatis-plus-generator.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity-engine-core -->
            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity-engine-core</artifactId>
                <version>${velocity.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>


            <!-- 厂商SDK集成 -->
            <!-- SMS SDK -->
            <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core -->
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>aliyun-java-sdk-core</artifactId>
                <version>${aliyun-java-sdk-core.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.aliyun/dysmsapi20170525 -->
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>dysmsapi20170525</artifactId>
                <version>${dysmsapi20170525.version}</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/com.jdcloud.sdk/sms -->
            <dependency>
                <groupId>com.jdcloud.sdk</groupId>
                <artifactId>sms</artifactId>
                <version>${com.jdcloud.sdk.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.tencentcloudapi/tencentcloud-sdk-java-sms -->
            <dependency>
                <groupId>com.tencentcloudapi</groupId>
                <artifactId>tencentcloud-sdk-java-sms</artifactId>
                <version>${tencentcloud-sdk-java.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.tencentcloudapi/tencentcloud-sdk-java-common -->
            <dependency>
                <groupId>com.tencentcloudapi</groupId>
                <artifactId>tencentcloud-sdk-java-common</artifactId>
                <version>${tencentcloud-sdk-java.version}</version>
            </dependency>


            <!-- https://mvnrepository.com/artifact/com.qiniu/qiniu-java-sdk -->
            <dependency>
                <groupId>com.qiniu</groupId>
                <artifactId>qiniu-java-sdk</artifactId>
                <version>${qiniu-java-sdk.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.yunpian.sdk/yunpian-java-sdk -->
            <dependency>
                <groupId>com.yunpian.sdk</groupId>
                <artifactId>yunpian-java-sdk</artifactId>
                <version>${yunpian-java-sdk.version}</version>
            </dependency>

            <!-- 支付 SDK -->
            <!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->
            <dependency>
                <groupId>com.alipay.sdk</groupId>
                <artifactId>alipay-sdk-java</artifactId>
                <version>${alipay-sdk-java.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>


            <!-- 第三方应用集成 -->
            <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-green -->
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>aliyun-java-sdk-green</artifactId>
                <version>${aliyun-java-sdk-green.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss -->
            <dependency>
                <groupId>com.aliyun.oss</groupId>
                <artifactId>aliyun-sdk-oss</artifactId>
                <version>${aliyun-sdk-oss.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.baidu.aip/java-sdk -->
            <dependency>
                <groupId>com.baidu.aip</groupId>
                <artifactId>java-sdk</artifactId>
                <version>${com.baidu.aip.version}</version>
            </dependency>

            <!-- 依赖包特殊处理 -->
            <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 -->
            <dependency>
                <groupId>com.alibaba.fastjson2</groupId>
                <artifactId>fastjson2</artifactId>
                <version>${fastjson2.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.alibaba/transmittable-thread-local -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>transmittable-thread-local</artifactId>
                <version>${transmittable-thread-local.version}</version>
            </dependency>

            <!--以下为 JDK 17 兼容性处理-->
            <!-- https://mvnrepository.com/artifact/org.jboss.xnio/xnio-nio -->
            <dependency>
                <groupId>org.jboss.xnio</groupId>
                <artifactId>xnio-nio</artifactId>
                <version>${xnio.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.jboss.xnio/xnio-api -->
            <dependency>
                <groupId>org.jboss.xnio</groupId>
                <artifactId>xnio-api</artifactId>
                <version>${xnio.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.squareup.okio/okio -->
            <dependency>
                <groupId>com.squareup.okio</groupId>
                <artifactId>okio</artifactId>
                <version>${okio.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${okhttp3.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/logging-interceptor -->
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>logging-interceptor</artifactId>
                <version>${okhttp3.version}</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on -->
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>${bcprov-jdk15on.version}</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcpkix-jdk15on</artifactId>
                <version>${bcpkix-jdk15on.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.aliyun/tea-xml -->
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>tea-xml</artifactId>
                <version>${tea-xml.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.dom4j/dom4j -->
            <dependency>
                <groupId>org.dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>${dom4j.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${postgresql.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.archetype</groupId>
                <artifactId>archetype-packaging</artifactId>
                <version>${archetype-packaging.verison}</version>
            </extension>
        </extensions>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                        <encoding>${project.build.sourceEncoding}</encoding>
                        <showWarnings>true</showWarnings>
                        <annotationProcessorPaths>
                            <path>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok</artifactId>
                                <version>${lombok.version}</version>
                            </path>
                            <path>
                                <groupId>org.mapstruct</groupId>
                                <artifactId>mapstruct-processor</artifactId>
                                <version>${mapstruct-processor.version}</version>
                            </path>
                            <path>
                                <groupId>org.springframework.boot</groupId>
                                <artifactId>spring-boot-configuration-processor</artifactId>
                                <version>${spring-boot-dependencies.version}</version>
                            </path>
                        </annotationProcessorPaths>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>${maven-resources-plugin.version}</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                        <propertiesEncoding>UTF-8</propertiesEncoding>
                        <addDefaultExcludes>false</addDefaultExcludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                    <configuration>
                        <skipTests>true</skipTests>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${maven-source-plugin.version}</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <phase>package</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven-javadoc-plugin.version}</version>
                    <configuration>
                        <show>package</show>
                        <tags>
                            <tag>
                                <name>date</name>
                            </tag>
                        </tags>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <phase>package</phase>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                            <configuration>
                                <doclint>none</doclint>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>${maven-gpg-plugin.version}</version>
                    <executions>
                        <execution>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>${maven-archetype-plugin.version}</version>
                </plugin>

                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>${spring-boot-dependencies.version}</version>
                    <configuration>
                        <layers>
                            <enabled>true</enabled>
                        </layers>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>${maven-install-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>pl.project13.maven</groupId>
                    <artifactId>git-commit-id-plugin</artifactId>
                    <version>${git-commit-id-plugin.version}</version>
                    <configuration>
                        <!-- 检查的仓库根目录，${project.basedir}：项目根目录，即包含pom.xml文件的目录 -->
                        <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
                        <!-- git属性文件中各属性前缀，默认值git，可以不配置 -->
                        <prefix>git</prefix>
                        <!-- false：扫描路径时不打印更多信息，默认值false，可以不配置 -->
                        <verbose>false</verbose>
                        <!-- 生成git属性文件，默认false：不生成 -->
                        <generateGitPropertiesFile>true</generateGitPropertiesFile>
                        <!-- 生成git属性文件路径及文件名，默认${project.build.outputDirectory}/git.properties -->
                        <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties
                        </generateGitPropertiesFilename>
                        <dateFormat>yyyy-MM-dd HH:mm:ss</dateFormat>
                        <!-- 生成git属性文件格式，默认值properties -->
                        <!--                        <format>json</format>-->
                        <!-- 配置git-describe命令 -->
                        <gitDescribe>
                            <skip>false</skip>
                            <always>false</always>
                            <dirty>-dirty</dirty>
                        </gitDescribe>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>

            <distributionManagement>
                <snapshotRepository>
                    <id>sonatype-nexus-snapshots</id>
                    <name>Sonatype Nexus Snapshots</name>
                    <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
                </snapshotRepository>
                <repository>
                    <id>sonatype-nexus-release</id>
                    <name>Nexus Release Repository</name>
                    <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
            </distributionManagement>
        </profile>
    </profiles>

</project>