<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.github.xlongshu.maven</groupId>
        <artifactId>maven-starters</artifactId>
        <version>1.0.1</version>
    </parent>

    <artifactId>starter-dependencies</artifactId>
    <packaging>pom</packaging>

    <properties>
        <!-- JavaEE API -->
        <javaee-api.version>7.0</javaee-api.version>
        <javaee-web-api.version>${javaee-api.version}</javaee-web-api.version>
        <servlet-api.version>3.0.1</servlet-api.version>
        <jsp-api.version>2.2.1</jsp-api.version>
        <el-api.version>3.0.0</el-api.version>
        <websocket-api.version>1.1</websocket-api.version>
        <tomcat.version>8.5.29</tomcat.version>
        <jetty.version>9.4.9.v20180320</jetty.version>
        <!-- Java API -->
        <persistence-api.version>1.0.2</persistence-api.version> <!--Persistence Api (JPA)-->
        <annotation-api.version>1.2</annotation-api.version> <!-- Common Annotations for the JavaTM -->
        <javax-validation.version>1.1.0.Final</javax-validation.version> <!-- Bean Validation 1.1(JSR-349) -->
        <javax.ws.rs-api.version>2.0.1</javax.ws.rs-api.version> <!--Javax WS RS API JSR311-->
        <javax-mail.version>1.6.0</javax-mail.version> <!--sun-mail-->

        <!-- Logger -->
        <slf4j.version>1.7.25</slf4j.version>
        <logback.version>1.2.3</logback.version>
        <!-- commons -->
        <guava.version>20.0</guava.version>
        <hutool.version>4.0.12</hutool.version>
        <jodd.version>3.7.1</jodd.version>
        <poi.version>3.17</poi.version>
        <okhttp3.version>3.9.1</okhttp3.version>
        <retrofit2.version>2.3.0</retrofit2.version>
        <rxjava.version>1.3.4</rxjava.version>
        <rxjava2.version>2.1.8</rxjava2.version>
        <disruptor.version>3.3.7</disruptor.version>
        <jline.version>2.14.5</jline.version>
        <jsoup.version>1.11.2</jsoup.version>
        <objenesis.version>2.6</objenesis.version>
        <reflections.version>0.9.11</reflections.version>
        <java-semver.version>0.9.0</java-semver.version>
        <metainf-services.version>1.7</metainf-services.version>
        <!-- Apache commons -->
        <commons-io.version>2.6</commons-io.version>
        <commons-lang3.version>3.5</commons-lang3.version>
        <commons-beanutils.version>1.9.3</commons-beanutils.version>
        <commons-collections.version>3.2.2</commons-collections.version>
        <commons-codec.version>1.10</commons-codec.version>
        <commons-digester.version>2.1</commons-digester.version>
        <bcprov-jdk15on.version>1.58</bcprov-jdk15on.version>
        <!-- JSON -->
        <fastjson.version>1.2.44</fastjson.version>
        <jackson.version>2.8.10</jackson.version>
        <gson.version>2.8.2</gson.version>
        <json.version>20171018</json.version><!--org.json-->
        <!-- serialization -->
        <protostuff.version>1.5.6</protostuff.version>
        <kryo.version>4.0.0</kryo.version>
        <msgpack.version>1.5.6</msgpack.version>
        <msgpack-core.version>0.8.14</msgpack-core.version>
        <!-- JDBC -->
        <druid.version>1.1.7</druid.version>
        <c3p0.version>0.9.5.2</c3p0.version>
        <commons-dbcp2.version>2.1.1</commons-dbcp2.version>
        <mysql.version>5.1.40</mysql.version>
        <sqlite-jdbc.version>3.15.1</sqlite-jdbc.version>
        <hsqldb.version>2.4.0</hsqldb.version>
        <h2.version>1.4.196</h2.version>
        <!-- MyBatis -->
        <mybatis.version>3.4.5</mybatis.version>
        <mybatis-spring.version>1.3.1</mybatis-spring.version>
        <mybatis-spring-boot.version>${mybatis-spring.version}</mybatis-spring-boot.version>
        <mybatis-generator.version>1.3.6</mybatis-generator.version>
        <mapper.version>3.5.3</mapper.version>
        <mapper-spring-boot.version>1.2.3</mapper-spring-boot.version>
        <pagehelper.version>5.1.3</pagehelper.version>
        <pagehelper-spring-boot.version>1.2.3</pagehelper-spring-boot.version>
        <!-- Bytecode Libraries -->
        <asm.version>5.0.4</asm.version>
        <cglib.version>3.1</cglib.version>
        <aspectj.version>1.8.13</aspectj.version>
        <javassist.version>3.22.0-GA</javassist.version>
        <!-- Template -->
        <freemarker.version>2.3.28</freemarker.version>
        <velocity.version>2.0</velocity.version>
        <velocity-tools.version>2.0</velocity-tools.version>
        <!-- ehcache -->
        <ehcache-core.version>2.6.11</ehcache-core.version>
        <ehcache.version>2.10.4</ehcache.version>
        <ehcache3.version>3.4.0</ehcache3.version>
        <shiro.version>1.3.2</shiro.version>
        <quartz.version>2.3.0</quartz.version>
        <guice.version>4.1.0</guice.version>
        <dozer.version>5.5.1</dozer.version>
        <dozermapper.version>6.1.0</dozermapper.version>
        <xstream.version>1.4.9</xstream.version>
        <xercesImpl.version>2.11.0</xercesImpl.version>
        <zxing.version>3.3.0</zxing.version>
        <zookeeper.version>3.4.11</zookeeper.version>
        <thumbnailator.version>0.4.8</thumbnailator.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- jdk-lib -->
            <dependency>
                <groupId>jdk.lib</groupId>
                <artifactId>jconsole</artifactId>
                <version>${jdk.version}</version>
            </dependency>
            <dependency>
                <groupId>jdk.lib</groupId>
                <artifactId>tools</artifactId>
                <version>${jdk.version}</version>
            </dependency>
            <!-- JavaEE API -->
            <dependency>
                <groupId>javax</groupId>
                <artifactId>javaee-api</artifactId>
                <version>${javaee-api.version}</version>
            </dependency>
            <dependency>
                <groupId>javax</groupId>
                <artifactId>javaee-web-api</artifactId>
                <version>${javaee-web-api.version}</version>
            </dependency>
            <!-- 2.x -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.1</version>
            </dependency>
            <dependency>
                <groupId>javax.el</groupId>
                <artifactId>el-api</artifactId>
                <version>2.2</version>
            </dependency>
            <!-- 3.x + -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlet-api.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>javax.servlet.jsp-api</artifactId>
                <version>${jsp-api.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.el</groupId>
                <artifactId>javax.el-api</artifactId>
                <version>${el-api.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.websocket</groupId>
                <artifactId>javax.websocket-api</artifactId>
                <version>${websocket-api.version}</version>
            </dependency>
            <!-- Java API -->
            <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>persistence-api</artifactId>
                <version>${persistence-api.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>${annotation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${javax-validation.version}</version>
            </dependency>
            <!--Javax WS RS API JSR311-->
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>javax.ws.rs-api</artifactId>
                <version>${javax.ws.rs-api.version}</version>
            </dependency>
            <!-- mail -->
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>javax.mail-api</artifactId>
                <version>${javax-mail.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.mail</groupId>
                <artifactId>javax.mail</artifactId>
                <version>${javax-mail.version}</version>
            </dependency>
            <!-- commons -->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-core</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-log</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-json</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-crypto</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-poi</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jodd</groupId>
                <artifactId>jodd-bom</artifactId>
                <version>${jodd.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <!-- poi -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${poi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${poi.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${okhttp3.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>logging-interceptor</artifactId>
                <version>${okhttp3.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp-urlconnection</artifactId>
                <version>${okhttp3.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>retrofit</artifactId>
                <version>${retrofit2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>converter-gson</artifactId>
                <version>${retrofit2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>converter-jackson</artifactId>
                <version>${retrofit2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>adapter-rxjava</artifactId>
                <version>${retrofit2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>adapter-rxjava2</artifactId>
                <version>${retrofit2.version}</version>
            </dependency>
            <dependency>
                <groupId>io.reactivex</groupId>
                <artifactId>rxjava</artifactId>
                <version>${rxjava.version}</version>
            </dependency>
            <dependency>
                <groupId>io.reactivex.rxjava2</groupId>
                <artifactId>rxjava</artifactId>
                <version>${rxjava2.version}</version>
            </dependency>
            <!--disruptor-->
            <dependency>
                <groupId>com.lmax</groupId>
                <artifactId>disruptor</artifactId>
                <version>${disruptor.version}</version>
            </dependency>
            <dependency>
                <groupId>jline</groupId>
                <artifactId>jline</artifactId>
                <version>${jline.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jsoup</groupId>
                <artifactId>jsoup</artifactId>
                <version>${jsoup.version}</version>
            </dependency>
            <dependency>
                <groupId>org.objenesis</groupId>
                <artifactId>objenesis</artifactId>
                <version>${objenesis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.reflections</groupId>
                <artifactId>reflections</artifactId>
                <version>${reflections.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.zafarkhaja</groupId>
                <artifactId>java-semver</artifactId>
                <version>${java-semver.version}</version>
            </dependency>
            <!-- META-INF/services auto-generation -->
            <dependency>
                <groupId>org.kohsuke.metainf-services</groupId>
                <artifactId>metainf-services</artifactId>
                <version>${metainf-services.version</version>
            </dependency>
            <!-- Apache commons -->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>
            <!-- BouncyCastle -->
            <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>${bcprov-jdk15on.version}</version>
            </dependency>
            <!-- fastjson -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson</groupId>
                <artifactId>jackson-bom</artifactId>
                <version>${jackson.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <!-- serialization -->
            <dependency>
                <groupId>io.protostuff</groupId>
                <artifactId>protostuff-bom</artifactId>
                <version>${protostuff.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.esotericsoftware</groupId>
                <artifactId>kryo</artifactId>
                <version>${kryo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.msgpack</groupId>
                <artifactId>msgpack</artifactId>
                <version>${msgpack.version}</version>
            </dependency>
            <dependency>
                <groupId>org.msgpack</groupId>
                <artifactId>msgpack-core</artifactId>
                <version>${msgpack-core.version}</version>
            </dependency>
            <!-- JDBC -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <dependency>
                <groupId>com.mchange</groupId>
                <artifactId>c3p0</artifactId>
                <version>${c3p0.version}</version>
            </dependency>
            <!-- MyBatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>${mybatis-spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis-spring-boot.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter-test</artifactId>
                <version>${mybatis-spring-boot.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-core</artifactId>
                <version>${mybatis-generator.version}</version>
            </dependency>
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper</artifactId>
                <version>${mapper.version}</version>
            </dependency>
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>${mapper-spring-boot.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper-spring-boot.version}</version>
            </dependency>
            <!-- cglib -->
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>${cglib.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <!-- velocity -->
            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity-engine-core</artifactId>
                <version>${velocity.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity-tools</artifactId>
                <version>${velocity-tools.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- ehcache-core -->
            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache-core</artifactId>
                <version>${ehcache-core.version}</version>
            </dependency>
            <!-- shiro -->
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-core</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-web</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-ehcache</artifactId>
                <version>${shiro.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-quartz</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-spring</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-guice</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-aspectj</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-all</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <!-- quartz -->
            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>${quartz.version}</version>
            </dependency>
            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz-jobs</artifactId>
                <version>${quartz.version}</version>
            </dependency>
            <!-- guice -->
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <!-- dozer -->
            <dependency>
                <groupId>net.sf.dozer</groupId>
                <artifactId>dozer</artifactId>
                <version>${dozer.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.dozer</groupId>
                <artifactId>dozer-spring</artifactId>
                <version>${dozer.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.dozermapper</groupId>
                <artifactId>dozer-core</artifactId>
                <version>${dozermapper.version}</version>
            </dependency>
            <!--XStream-->
            <dependency>
                <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>${xstream.version}</version>
            </dependency>
            <dependency>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
                <version>${xercesImpl.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>core</artifactId>
                <version>${zxing.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>javase</artifactId>
                <version>${zxing.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
            </dependency>
            <dependency>
                <groupId>net.coobird</groupId>
                <artifactId>thumbnailator</artifactId>
                <version>${thumbnailator.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <profiles>
        <profile>
            <id>profile-jdk-lib</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <file>
                    <exists>${env.JAVA_HOME}/lib/jconsole.jar</exists>
                </file>
            </activation>
            <properties>
                <toolsjar>${env.JAVA_HOME}/lib/tools.jar</toolsjar>
                <jconsolejar>${env.JAVA_HOME}/lib/jconsole.jar</jconsolejar>
            </properties>
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId>jdk.lib</groupId>
                        <artifactId>jconsole</artifactId>
                        <version>${jdk.version}</version>
                        <scope>system</scope>
                        <systemPath>${jconsolejar}</systemPath>
                    </dependency>
                    <dependency>
                        <groupId>jdk.lib</groupId>
                        <artifactId>tools</artifactId>
                        <version>${jdk.version}</version>
                        <scope>system</scope>
                        <systemPath>${toolsjar}</systemPath>
                    </dependency>
                </dependencies>
            </dependencyManagement>
        </profile>
    </profiles>

</project>