<%#
 Copyright 2013-2021 the original author or authors from the BegCode project.

 This file is part of the JHipster project, see https://www.jhipster.tech/
 for more information.

 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.
-%>
<?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
                             https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- begcode-please-regenerate-this-file 如果您不希望重新生成代码时被覆盖，将please修改为don't ！！！-->

    <parent>
        <groupId><%= packageName %></groupId>
        <artifactId><%= dasherizedBaseName %></artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

    <artifactId><%= dasherizedBaseName %>-core</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name><%= humanizedBaseName %>-core</name>
    <description><%= projectDescription %> Core</description>

    <repositories>
<%_ if (SPRING_BOOT_VERSION.indexOf('M') > -1 || SPRING_BOOT_VERSION.indexOf('RC') > -1) { _%>
        <repository>
            <id>spring-milestone</id>
            <url>https://repo.spring.io/milestone</url>
        </repository>
<%_ } _%>
<%_ if (JHIPSTER_DEPENDENCIES_VERSION.endsWith('-SNAPSHOT')) { _%>
        <repository>
            <id>ossrh-snapshots</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
<%_ } _%>
        <!-- jhipster-needle-maven-repository -->
    </repositories>

    <pluginRepositories>
<%_ if (SPRING_BOOT_VERSION.indexOf('M') > -1 || SPRING_BOOT_VERSION.indexOf('RC') > -1) { _%>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
<%_ } _%>
        <!-- jhipster-needle-maven-plugin-repository -->
    </pluginRepositories>

    <!-- jhipster-needle-distribution-management -->

    <properties>
        <!-- jhipster-needle-maven-property -->
    </properties>


    <dependencies>
        <%_ if (applicationTypeMonolith) { _%>
        <dependency>
            <groupId><%= packageName %></groupId>
            <artifactId><%= dasherizedBaseName %>-log-api</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <%_ } else { _%>
            <%_ if (applicationType !== 'commonmodule') { _%>
        <dependency>
            <groupId><%= packageName %></groupId>
            <artifactId>base-core</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
            <%_ } _%>
        <%_ } _%>
        <dependency>
            <groupId>com.begcode</groupId>
            <artifactId>jhipster-framework</artifactId>
<%_ // TODO : remove dependency from jhipster-framework
    if (reactive) { _%>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-webmvc</artifactId>
                </exclusion>
            </exclusions>
<%_ } _%>
        </dependency>
        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
        </dependency>
<%_ // This is useful for major Spring Boot migration
    if (SPRING_BOOT_VERSION.indexOf('M') > -1 || SPRING_BOOT_VERSION.indexOf('RC') > -1) { _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-properties-migrator</artifactId>
            <scope>runtime</scope>
        </dependency>
<%_ } _%>
<%_ if (!cacheProviderNo) { _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeSql) { _%>
        <dependency>
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-jaxb-annotations</artifactId>
        </dependency>
  <%_ if (!reactive) { _%>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-hibernate5</artifactId>
        </dependency>
  <%_ } else { _%>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>${commons-beanutils.version}</version>
        </dependency>
  <%_ } _%>
<%_ } _%>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-hppc</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
        </dependency>
<%_ if (cacheProviderHazelcast) { _%>
        <dependency>
            <groupId>com.hazelcast</groupId>
            <artifactId>hazelcast</artifactId>
        </dependency>
<%_ } _%>
<%_ if (cacheProviderHazelcast && enableHibernateCache) { _%>
        <dependency>
            <groupId>com.hazelcast</groupId>
            <artifactId>hazelcast-hibernate53</artifactId>
        </dependency>
<%_ } _%>
<%_ if (cacheProviderHazelcast) { _%>
        <dependency>
            <groupId>com.hazelcast</groupId>
            <artifactId>hazelcast-spring</artifactId>
        </dependency>
<%_ } _%>
<%_ if (cacheProviderInfinispan) { _%>
        <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-hibernate-cache-v53</artifactId>
        </dependency>
        <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-spring-boot-starter-embedded</artifactId>
        </dependency>
        <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-jcache</artifactId>
        </dependency>
<%_ } _%>
<%_ if (cacheProviderMemcached) { _%>
        <dependency>
            <groupId>com.google.code.simple-spring-memcached</groupId>
            <artifactId>spring-cache</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.code.simple-spring-memcached</groupId>
            <artifactId>xmemcached-provider</artifactId>
        </dependency>
        <dependency>
            <groupId>com.googlecode.xmemcached</groupId>
            <artifactId>xmemcached</artifactId>
        </dependency>
<%_ } _%>
<%_ if (cacheProviderRedis && enableHibernateCache && ormTool === 'hibernate') { _%>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jcache</artifactId>
        </dependency>
<%_ } _%>
<%_ if (cacheProviderRedis) { _%>
        <dependency>
            <groupId>org.redisson</groupId>
            <artifactId>redisson</artifactId>
        </dependency>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>testcontainers</artifactId>
            <scope>test</scope>
        </dependency>
<%_ } _%>
        <dependency>
            <groupId>org.springdoc</groupId>
<%_ if (reactive) { _%>
            <artifactId>springdoc-openapi-webflux-core</artifactId>
<%_ } else { _%>
            <artifactId>springdoc-openapi-webmvc-core</artifactId>
<%_ } _%>
        </dependency>
<%_ if (databaseTypeSql) { _%>
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
        </dependency>
<%_ } _%>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
<%_ if (databaseTypeCassandra || databaseTypeCouchbase) { _%>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
        </dependency>
<%_ } _%>
<%_ if (enableSwaggerCodegen) { _%>
        <dependency>
            <groupId>org.openapitools</groupId>
            <artifactId>jackson-databind-nullable</artifactId>
            <version>${jackson-databind-nullable.version}</version>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeMongodb) { _%>
        <dependency>
            <groupId>de.flapdoodle.embed</groupId>
            <artifactId>de.flapdoodle.embed.mongo</artifactId>
            <scope>test</scope>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeCouchbase) { _%>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>couchbase</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.couchbase.client</groupId>
            <artifactId>java-client</artifactId>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeNeo4j) { _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-neo4j</artifactId>
        </dependency>
        <dependency>
            <groupId>eu.michael-simons.neo4j</groupId>
            <artifactId>neo4j-migrations-spring-boot-starter</artifactId>
        </dependency>
        <!-- This needs to be pinned with the one from neo4j migrations otherwise an older incompatible version from spring fox is used-->
        <dependency>
            <groupId>io.github.classgraph</groupId>
            <artifactId>classgraph</artifactId>
            <version>${classgraph.version}</version>
        </dependency>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>neo4j</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>testcontainers</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
<%_ } _%>
<%_ if (cacheProviderEhCache || cacheProviderCaffeine || cacheProviderHazelcast || cacheProviderInfinispan || cacheProviderMemcached) { _%>
        <dependency>
            <groupId>javax.cache</groupId>
            <artifactId>cache-api</artifactId>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeCassandra) { _%>
        <dependency>
            <groupId>org.lz4</groupId>
            <artifactId>lz4-java</artifactId>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeCassandra) { _%>
        <dependency>
            <groupId>org.cassandraunit</groupId>
            <artifactId>cassandra-unit-spring</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>database-commons</artifactId>
            <scope>test</scope>
        </dependency>
<%_ } _%>
<%_ if (cacheProviderEhCache) { _%>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
        </dependency>
  <%_ if (enableHibernateCache && ormTool === 'hibernate') { _%>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jcache</artifactId>
        </dependency>
  <%_ } _%>
<%_ } _%>
<%_ if (cacheProviderCaffeine) { _%>
        <dependency>
            <groupId>com.github.ben-manes.caffeine</groupId>
            <artifactId>caffeine</artifactId>
            <version>${caffeine.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.ben-manes.caffeine</groupId>
            <artifactId>jcache</artifactId>
            <version>${caffeine.version}</version>
        </dependency>
        <dependency>
            <groupId>com.typesafe</groupId>
            <artifactId>config</artifactId>
            <version>${typesafe.version}</version>
        </dependency>
  <%_ if (enableHibernateCache && ormTool === 'hibernate') { _%>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jcache</artifactId>
        </dependency>
  <%_ } _%>
<%_ } _%>
<%_ if (databaseTypeSql) { _%>
  <%_ if (ormTool === 'hibernate') { %>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jpamodelgen</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
        </dependency>
  <%_ } _%>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-core</artifactId>
            <!-- Inherited version from Spring Boot can't be used because of regressions -->
            <version>${liquibase.version}</version>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeMongodb) { _%>
        <dependency>
            <groupId>com.github.cloudyrock.mongock</groupId>
            <artifactId>mongock-spring-v5</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.cloudyrock.mongock</groupId>
            <artifactId>mongodb-springdata-v3-driver</artifactId>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeCouchbase) { _%>
        <dependency>
            <groupId>com.github.differentway</groupId>
            <artifactId>couchmove</artifactId>
        </dependency>
<%_ } _%>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>${mapstruct.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct-processor</artifactId>
            <version>${mapstruct.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-loader-tools</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
<%_ if (databaseTypeSql) { _%>
  <%_ if (!reactive) { _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
  <%_ } else { _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-r2dbc</artifactId>
        </dependency>
  <%_ } _%>
<%_ } _%>
<%_ if (searchEngineElasticsearch) { _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeMongodb || databaseTypeCassandra || databaseTypeCouchbase) { _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-<%= databaseType %><% if (reactive) { %>-reactive<% } %></artifactId>
        </dependency>
<%_ } _%>
<%_ if (reactive) { _%>
  <%_ if (databaseTypeMongodb) { _%>
        <!-- Mongock doesn't support reactive yet, so this dependency is necessary. -->
        <!-- See https://github.com/jhipster/generator-jhipster/pull/12536#issuecomment-696683592 for more information. -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
  <%_ } _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-commons</artifactId>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-tcnative-boringssl-static</artifactId>
        </dependency>
<%_ } _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
<%_ if (!authenticationTypeOauth2) { _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
<%_ } _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web<% if (reactive) { %>flux<% } %></artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
<%_ if (reactive) { _%>
        <dependency>
            <groupId>io.projectreactor.tools</groupId>
            <artifactId>blockhound-junit-platform</artifactId>
            <version>${blockhound-junit-platform.version}</version>
            <scope>test</scope>
        </dependency>
<%_ } _%>
        <dependency>
            <groupId>com.tngtech.archunit</groupId>
            <artifactId>archunit-junit5-api</artifactId>
            <version>${archunit-junit5.version}</version>
            <scope>test</scope>
        </dependency>
        <!-- Adding the engine dependency to the surefire-plugin unfortunately does not work in the current version. -->
        <!-- https://www.archunit.org/userguide/html/000_Index.html#_junit_5 -->
        <dependency>
            <groupId>com.tngtech.archunit</groupId>
            <artifactId>archunit-junit5-engine</artifactId>
            <version>${archunit-junit5.version}</version>
            <scope>test</scope>
        </dependency>
<%_ if (messageBrokerKafka) { _%>
  <%_ if (!reactive) { _%>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
        </dependency>
  <%_ } else { _%>
        <dependency>
            <groupId>io.projectreactor.kafka</groupId>
            <artifactId>reactor-kafka</artifactId>
        </dependency>
  <%_ } _%>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>kafka</artifactId>
            <scope>test</scope>
        </dependency>
<%_ } _%>
        <dependency>
            <groupId>org.zalando</groupId>
            <artifactId>problem-spring-web<% if (reactive) { %>flux<%_ } _%></artifactId>
        </dependency>
<%_ if (!reactive) { _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-undertow</artifactId>
        </dependency>
<%_ } _%>
<%_ if (communicationSpringWebsocket) { _%>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
<%_ } _%>
<%_ if (authenticationTypeOauth2) { _%>
        <!-- Spring Security OAuth 2.0 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-oauth2-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
        </dependency>
<%_ } else if (authenticationTypeJwt) { _%>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt-api</artifactId>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt-impl</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt-jackson</artifactId>
            <scope><% if (reactive) { %>compile<% } else { %>runtime<% } %></scope>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeCassandra) { _%>
        <!-- DataStax driver -->
        <dependency>
            <groupId>com.datastax.oss</groupId>
            <artifactId>java-driver-mapper-runtime</artifactId>
        </dependency>
<%_ } _%>
        <!-- Spring Cloud -->
<%_ if (applicationTypeGateway) { _%>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.vladimir-bukhtoyarov</groupId>
            <artifactId>bucket4j-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.vladimir-bukhtoyarov</groupId>
            <artifactId>bucket4j-jcache</artifactId>
        </dependency>
<%_ } _%>
<%_ if (applicationTypeMicroservice || applicationTypeGateway) { _%>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter</artifactId>
        </dependency>
  <%_ if (reactive) { _%>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-circuitbreaker-reactor-resilience4j</artifactId>
        </dependency>
  <%_ } else { _%>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
        </dependency>
  <%_ } _%>
        <dependency>
            <groupId>org.springframework.retry</groupId>
            <artifactId>spring-retry</artifactId>
        </dependency>
<%_ } _%>
<%_ if (serviceDiscoveryType) { _%>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>
  <%_ if (serviceDiscoveryEureka) { _%>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
  <%_ } _%>
  <%_ if (serviceDiscoveryConsul) { _%>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-config</artifactId>
        </dependency>
  <%_ } _%>
<%_ } _%>
<%_ if (serviceDiscoveryType === 'nacos') { _%>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.alibaba.nacos</groupId>
                    <artifactId>nacos-client</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
                </exclusion>
            </exclusions>
            <version>${alibaba.cloud.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.alibaba.nacos</groupId>
                    <artifactId>nacos-client</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
                </exclusion>
            </exclusions>
            <version>${alibaba.cloud.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>${alibaba.nacos.version}</version>
        </dependency>
<%_ } _%>
<%_ if (applicationTypeGateway && authenticationTypeOauth2 && reactive) { _%>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-security</artifactId>
        </dependency>
<%_ } _%>
<%_ if (applicationTypeMicroservice || applicationTypeGateway) { _%>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency><%# add by plus %>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>
<%_ } _%>
<%_ if (applicationTypeGateway || (applicationTypeMicroservice && reactive)) { _%>
        <dependency>
            <groupId>com.playtika.reactivefeign</groupId>
            <artifactId>feign-reactor-webclient</artifactId>
        </dependency>
        <dependency>
            <groupId>com.playtika.reactivefeign</groupId>
            <artifactId>feign-reactor-cloud</artifactId>
        </dependency>
        <dependency>
            <groupId>com.playtika.reactivefeign</groupId>
            <artifactId>feign-reactor-spring-configuration</artifactId>
        </dependency>
<%_ } _%>
<%_ if (!reactive) { _%><%# Can remove when Spring Security 5.5 is released https://github.com/spring-projects/spring-security/issues/8958 %>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-data</artifactId>
        </dependency>
<%_ } _%>
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
        </dependency>
        <dependency>
            <groupId>io.dropwizard.metrics</groupId>
            <artifactId>metrics-core</artifactId>
        </dependency>
<%_ if (communicationSpringWebsocket) { _%>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-messaging</artifactId>
        </dependency>
<%_ } _%>
<%_ if (cucumberTests) { _%>
        <!-- Cucumber -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit-platform-engine</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-spring</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-console</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <scope>test</scope>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeSql && !devDatabaseTypeH2Any) { _%>
        <dependency>
            <groupId>org.testcontainers</groupId>
  <%_ if (devDatabaseTypeMysql) { _%>
            <artifactId>mysql</artifactId>
  <%_ } else if (devDatabaseTypeMariadb) { _%>
            <artifactId>mariadb</artifactId>
  <%_ } else if (devDatabaseTypePostgres) { _%>
            <artifactId>postgresql</artifactId>
  <%_ } else if (devDatabaseTypeMssql) { _%>
            <artifactId>mssqlserver</artifactId>
  <%_ } else if (devDatabaseTypeOracle) { _%>
            <artifactId>oracle-xe</artifactId>
  <%_ } _%>
            <scope>provided</scope>
        </dependency>
<%_ } _%>
<%_ if (databaseTypeSql && devDatabaseType !== prodDatabaseType) { _%>
        <dependency>
            <groupId>org.testcontainers</groupId>
  <%_ if (prodDatabaseTypeMysql) { _%>
            <artifactId>mysql</artifactId>
  <%_ } else if (prodDatabaseTypeMariadb) { _%>
            <artifactId>mariadb</artifactId>
  <%_ } else if (prodDatabaseTypePostgres) { _%>
            <artifactId>postgresql</artifactId>
  <%_ } else if (prodDatabaseTypeMssql) { _%>
            <artifactId>mssqlserver</artifactId>
  <%_ } else if (prodDatabaseTypeOracle) { _%>
            <artifactId>oracle-xe</artifactId>
  <%_ } _%>
            <scope>provided</scope>
        </dependency>
<%_ } _%>
<%_ if (!reactive) { _%>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>test</scope>
        </dependency>
<%_ } _%>
<%_ if (reactive) { _%>
        <dependency>
            <groupId>io.r2dbc</groupId>
            <artifactId>r2dbc-h2</artifactId>
            <scope>test</scope>
        </dependency>
<%_ } _%>
<%_ if (devDatabaseTypeMysql || prodDatabaseTypeMysql) { _%>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>provided</scope>
        </dependency>
  <%_ if (reactive) { _%>
        <dependency>
            <groupId>dev.miku</groupId>
            <artifactId>r2dbc-mysql</artifactId>
            <scope>provided</scope>
        </dependency>
  <%_ } _%>
<%_ } _%>
<%_ if (devDatabaseTypeMariadb || prodDatabaseTypeMariadb) { _%>
        <dependency>
            <groupId>org.mariadb.jdbc</groupId>
            <artifactId>mariadb-java-client</artifactId>
            <scope>provided</scope>
        </dependency>
  <%_ if (reactive) { _%>
        <dependency>
            <groupId>org.mariadb</groupId>
            <artifactId>r2dbc-mariadb</artifactId>
            <scope>provided</scope>
        </dependency>
  <%_ } _%>
<%_ } _%>
<%_ if (devDatabaseTypeOracle || prodDatabaseTypeOracle) { _%>
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
            <scope>provided</scope>
        </dependency>
<%_ } _%>
<%_ if (devDatabaseTypeMssql || prodDatabaseTypeMssql) { _%>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <scope>provided</scope>
        </dependency>
  <%_ if (reactive) { _%>
        <dependency>
            <groupId>io.r2dbc</groupId>
            <artifactId>r2dbc-mssql</artifactId>
            <scope>provided</scope>
        </dependency>
  <%_ } _%>
<%_ } _%>
<%_ if (devDatabaseTypePostgres || prodDatabaseTypePostgres) { _%>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>provided</scope>
        </dependency>
  <%_ if (reactive) { _%>
        <dependency>
            <groupId>io.r2dbc</groupId>
            <artifactId>r2dbc-postgresql</artifactId>
            <scope>provided</scope>
        </dependency>
  <%_ } _%>
<%_ } _%>
        <!-- jhipster-needle-maven-add-dependency -->
    </dependencies>
</project>
