<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.els.base</groupId>
	<artifactId>base_parent</artifactId>
	<version>2.2.17.FD-RELEASE</version>
	<packaging>pom</packaging>

	<name>base_parent</name>
	<url>http://maven.apache.org</url>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.4.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<com.els.base>2.2.17.FD-RELEASE</com.els.base>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
		<spring-boot.version>2.1.4.RELEASE</spring-boot.version>
		<spring-boot-admin.version>2.1.4</spring-boot-admin.version>
		<mybatis-spring-boot.version>2.1.0</mybatis-spring-boot.version>
		<druid-spring-boot.version>1.1.9</druid-spring-boot.version>
		<easypoi-spring-boot.version>4.1.1</easypoi-spring-boot.version>

		<dom4j.version>1.6.1</dom4j.version>
		<slf4j.version>1.7.21</slf4j.version>
		<log4j.version>2.7</log4j.version>

		<javax.servlet.servlet-api>3.0-alpha-1</javax.servlet.servlet-api>
		<javax.servlet.jsp-api>2.0</javax.servlet.jsp-api>
		<javax.servlet.jstl>1.2</javax.servlet.jstl>

		<commons-beanutils.version>1.7.0</commons-beanutils.version>
		<commons-collections.version>3.2.1</commons-collections.version>
		<commons-chain.version>1.2</commons-chain.version>
		<commons-codec.version>1.9</commons-codec.version>
		<commons-digester.version>2.0</commons-digester.version>
		<commons-io.version>1.3.2</commons-io.version>
		<commons-fileupload.version>1.2.1</commons-fileupload.version>
		<commons-lang.version>2.6</commons-lang.version>
		<commons-lang3.version>3.5</commons-lang3.version>
		<commons-httpclient>3.1-alpha1</commons-httpclient>

		<httpcomponents>4.5</httpcomponents>
		<httpcomponents.core>4.4.6</httpcomponents.core>

		<!-- mysql jdbc -->
		<mysql.version>5.1.27</mysql.version>

		<!-- sqlserver jdbc -->
		<sqlserver>4</sqlserver>

		<!-- oracle jdbc -->
		<oracle11g-r2>RELEASE2</oracle11g-r2>

		<validation-api>2.0.1.Final</validation-api>
		<hibernate-validator>4.3.2.Final</hibernate-validator>
		<json-lib>2.4</json-lib>

		<springfox-swagger2>2.8.0</springfox-swagger2>

		<quartz>2.2.2</quartz>
		<xstream>1.4.7</xstream>
		<weixin-java-tools>2.8.0</weixin-java-tools>
		<activiti>5.22.0</activiti>
		<activemq>5.8.0</activemq>
		<jexcelapi>2.6.12</jexcelapi>
		<kaptcha>2.3.2</kaptcha>
		<guava>20.0</guava>
		<beetl>2.7.21</beetl>

		<dubbo>2.5.0</dubbo>
		<zkclient>0.1</zkclient>

		<aws-java-sdk-s3>1.11.118</aws-java-sdk-s3>
		<aliyun-sdk-oss>2.6.0</aliyun-sdk-oss>

		<hutool.version>5.1.0</hutool.version>

	</properties>

	<dependencyManagement>
		<dependencies>

			<!--springboot web框架-->
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-web</artifactId>
				<version>${spring-boot.version}</version>
				<!-- 排除默认的logback日志，使用log4j2-->
				<exclusions>
					<exclusion>
						<groupId>org.springframework.boot</groupId>
						<artifactId>spring-boot-starter-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<!--安全框架-->
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-security</artifactId>
				<version>${spring-boot.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework.boot</groupId>
						<artifactId>spring-boot-starter-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
           <!-- <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-dependencies</artifactId>
                <version>${spring-boot-admin.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>-->

			<!--mybatis -->
			<dependency>
				<groupId>org.mybatis.spring.boot</groupId>
				<artifactId>mybatis-spring-boot-starter</artifactId>
				<version>${mybatis-spring-boot.version}</version>
			</dependency>

			<!-- Alibaba 的druid数据库连接池 -->
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>druid-spring-boot-starter</artifactId>
				<version>${druid-spring-boot.version}</version>
			</dependency>

			<!--redis -->
			<dependency>
	            <groupId>redis.clients</groupId>
	            <artifactId>jedis</artifactId>
	            <version>2.9.0</version>
			</dependency>

			<!--im包-->
			<dependency>
				<groupId>qqt</groupId>
				<artifactId>service-client-1.7</artifactId>
				<version>1.0.2-SNAPSHOT</version>
				<exclusions>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<!-- web依赖包 -->
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>servlet-api</artifactId>
				<version>${javax.servlet.servlet-api}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>jsp-api</artifactId>
				<version>${javax.servlet.jsp-api}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>jstl</artifactId>
				<version>${javax.servlet.jstl}</version>
			</dependency>
			<!-- WEB end -->

			<!-- dom4j -->
			<dependency>
				<groupId>dom4j</groupId>
				<artifactId>dom4j</artifactId>
				<version>${dom4j.version}</version>
				<exclusions>
					<exclusion>
						<groupId>xml-apis</groupId>
						<artifactId>xml-apis</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<!-- slf4j -->
			<!--<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl-over-slf4j</artifactId>
				<version>${slf4j.version}</version>
			</dependency>-->

			<!-- log4j -->
			<!--<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-api</artifactId>
				<version>${log4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-core</artifactId>
				<version>${log4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-slf4j-impl</artifactId>
				<version>${log4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-web</artifactId>
				<version>${log4j.version}</version>
				<scope>runtime</scope>
			</dependency>-->

			<dependency>
				<groupId>commons-beanutils</groupId>
				<artifactId>commons-beanutils</artifactId>
				<version>${commons-beanutils.version}</version>
			</dependency>
			<!-- commons-collections -->
			<dependency>
				<groupId>commons-collections</groupId>
				<artifactId>commons-collections</artifactId>
				<version>${commons-collections.version}</version>
			</dependency>
			<!-- commons-chain -->
			<dependency>
				<groupId>commons-chain</groupId>
				<artifactId>commons-chain</artifactId>
				<version>${commons-chain.version}</version>
			</dependency>
			<!-- commons-codec -->
			<dependency>
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>${commons-codec.version}</version>
			</dependency>
			<!-- commons-digester -->
			<dependency>
				<groupId>commons-digester</groupId>
				<artifactId>commons-digester</artifactId>
				<version>${commons-digester.version}</version>
			</dependency>
			<!-- commons-io -->
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons-io.version}</version>
			</dependency>
			<!-- commons-fileupload -->
			<dependency>
				<groupId>commons-fileupload</groupId>
				<artifactId>commons-fileupload</artifactId>
				<version>${commons-fileupload.version}</version>
			</dependency>
			<!-- commons-lang -->
			<dependency>
				<groupId>commons-lang</groupId>
				<artifactId>commons-lang</artifactId>
				<version>${commons-lang.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${commons-lang3.version}</version>
			</dependency>
			<!-- end -->
			<!-- <dependency>
				<groupId>javax.validation</groupId>
				<artifactId>validation-api</artifactId>
				<version>${validation-api}</version>
			</dependency> -->
			<!-- <dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>${hibernate-validator}</version>
			</dependency> -->

			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${httpcomponents}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpcore</artifactId>
				<version>${httpcomponents.core}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpmime</artifactId>
				<version>${httpcomponents}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient-cache</artifactId>
				<version>${httpcomponents}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>commons-httpclient</groupId>
				<artifactId>commons-httpclient</artifactId>
				<version>${commons-httpclient}</version>
			</dependency>
			<dependency>
				<groupId>QRCode</groupId>
				<artifactId>QRCode</artifactId>
				<version>3.0</version>
			</dependency>
			<dependency>
				<groupId>QRCode</groupId>
				<artifactId>QRCode-Swetake</artifactId>
				<version>3.0</version>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql.version}</version>
			</dependency>

			<dependency>
				<groupId>com.microsoft.sqlserver</groupId>
				<artifactId>sqlserver-connector</artifactId>
				<version>${sqlserver}</version>
			</dependency>

			<dependency>
				<groupId>com.oracle.oracle11g</groupId>
				<artifactId>oracle6</artifactId>
				<version>${oracle11g-r2}</version>
			</dependency>

			<dependency>
				<groupId>io.springfox</groupId>
				<artifactId>springfox-swagger2</artifactId>
				<version>${springfox-swagger2}</version>
			</dependency>

			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>dubbo</artifactId>
				<version>${dubbo}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>com.github.sgroschupf</groupId>
				<artifactId>zkclient</artifactId>
				<version>${zkclient}</version>
			</dependency>

			<dependency>
				<groupId>org.quartz-scheduler</groupId>
				<artifactId>quartz</artifactId>
				<version>${quartz}</version>
			</dependency>

			<dependency>
				<groupId>com.thoughtworks.xstream</groupId>
				<artifactId>xstream</artifactId>
				<version>${xstream}</version>
			</dependency>
			<dependency>
				<groupId>com.github.binarywang</groupId>
				<artifactId>weixin-java-mp</artifactId>
				<version>${weixin-java-tools}</version>
			</dependency>
			<dependency>
				<groupId>com.github.binarywang</groupId>
				<artifactId>weixin-java-pay</artifactId>
				<version>${weixin-java-tools}</version>
			</dependency>

			<dependency>
				<groupId>org.activiti</groupId>
				<artifactId>activiti-engine</artifactId>
				<version>${activiti}</version>
				<exclusions>
					<exclusion>
						<groupId>org.mybatis</groupId>
						<artifactId>mybatis</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.activiti</groupId>
				<artifactId>activiti-spring</artifactId>
				<version>${activiti}</version>
			</dependency>
			<dependency>
				<groupId>org.activiti</groupId>
				<artifactId>activiti-bpmn-layout</artifactId>
				<version>${activiti}</version>
			</dependency>
			<dependency>
				<groupId>org.activiti</groupId>
				<artifactId>activiti-modeler</artifactId>
				<version>${activiti}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>com.github.penggle</groupId>
				<artifactId>kaptcha</artifactId>
				<version>${kaptcha}</version>
			</dependency>

			<dependency>
				<groupId>net.sourceforge.jexcelapi</groupId>
				<artifactId>jxl</artifactId>
				<version>${jexcelapi}</version>
				<exclusions>
					<exclusion>
						<groupId>log4j</groupId>
						<artifactId>log4j</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>${guava}</version>
			</dependency>

			<dependency>
				<groupId>com.ibeetl</groupId>
				<artifactId>beetl</artifactId>
				<version>${beetl}</version>
			</dependency>

			<dependency>
				<groupId>com.amazonaws</groupId>
				<artifactId>aws-java-sdk-s3</artifactId>
				<version>${aws-java-sdk-s3}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>com.aliyun.oss</groupId>
				<artifactId>aliyun-sdk-oss</artifactId>
				<version>2.6.0</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>qqt</groupId>
				<artifactId>message-client-1.7</artifactId>
				<version>1.0.1</version>
				<exclusions>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
				</exclusions>
			</dependency>


			<dependency>
				<groupId>cn.hutool</groupId>
				<artifactId>hutool-all</artifactId>
				<version>${hutool.version}</version>
			</dependency>


		</dependencies>
	</dependencyManagement>

	<build>
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.*</include>
				</includes>
				<excludes>
					<exclude>**/*.java</exclude>
					<exclude>**/.svn/*</exclude>
				</excludes>
				<filtering>false</filtering>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*.*</include>
				</includes>
				<excludes>
					<exclude>**/.svn/*</exclude>
				</excludes>
				<filtering>false</filtering>
			</resource>
			<resource>
                <directory>src/main/webapp</directory>
            </resource>
		</resources>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.0.0</version>
					<configuration>
						<attach>true</attach>
					</configuration>
					<executions>
						<execution>
							<id>source</id>
							<phase>package</phase>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.1</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
						<encoding>${project.build.sourceEncoding}</encoding>
						<showWarnings>true</showWarnings>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>2.6</version>
					<configuration>
						<!-- <archiveClasses>true</archiveClasses> -->
						<attachClasses>true</attachClasses>
						<failOnMissingWebXml>false</failOnMissingWebXml>
						<webResources>
							<!-- this is relative to the pom.xml directory -->
							<resource>
								<directory>src/main/resources</directory>
								<targetPath>WEB-INF/classes</targetPath>
								<excludes>
									<exclude>**/.svn/*</exclude>
									<exclude>**/spring-dubbo-consumer*.xml</exclude>
								</excludes>
							</resource>
						</webResources>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>3.0.0</version>
					<configuration>
						<descriptors>
							<descriptor>src/main/assembly/assembly.xml</descriptor>
						</descriptors>
					</configuration>
					<executions>
						<execution>
							<id>make-assembly</id>
							<phase>prepare-package</phase>
							<goals>
								<goal>single</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
					<configuration>
						<fork>true</fork>
						<classifier>exec</classifier>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>repackage</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<!--批量修改版本插件-->
				<!--
					#1 设置新的版本号
					（1）可以回退
					mvn versions:set -DnewVersion=2.1.0-SNAPSHOT
					（2）直接提交版本修改
					mvn versions:set -DnewVersion=1.2.0-SNAPSHOT -DgenerateBackupPoms=false
					#2 当新版本号设置不正确时可以撤销新版本号的设置
					mvn versions:revert
					#3 确认新版本号无误后提交新版本号的设置
					mvn versions:commit
				-->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>versions-maven-plugin</artifactId>
					<version>2.7</version>
					<!--<configuration>
						<generateBackupPoms>false</generateBackupPoms>
					</configuration>-->
				</plugin>

				<!--jar包冲突分析插件-->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>1.4.1</version>
					<executions>
						<execution>
							<id>enforce</id>
							<configuration>
								<rules>
									<dependencyConvergence/>
								</rules>
							</configuration>
							<goals>
								<goal>enforce</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

			</plugins>
		</pluginManagement>
	</build>

	<distributionManagement>

        <repository>
			<id>nexus-releases</id>
			<url>http://svn.51qqt.com:8081/nexus/content/repositories/releases/</url>
		</repository>
		<snapshotRepository>
			<id>nexus-snapshots</id>
			<url>http://svn.51qqt.com:8081/nexus/content/repositories/snapshots/</url>
		</snapshotRepository>

	</distributionManagement>

	<modules>
		<!--代码生成器-->
		<module>base_generator</module>
		<!--基础项目-工具包-->
		<module>base_utils</module>
		<!--核心模块，提供框架的SSM全局配置，以及各方面的通用工具。-->
		<module>base_core</module>
		<!--国际化组件,支持英文，中文简体，中文繁体，韩文，日文-->
		<module>base_i18n</module>
		<!--权限控制组件，包括角色，用户组，菜单，按钮，请求的控制。-->
		<module>base_auth</module>
		<!--文件管理，提供统一上传下载，文件管理功能。支持阿里oss，亚马逊aws。-->
		<module>base_file</module>
		<!--用户操作日志组件，记录用户的每一个web请求操作。-->
		<module>base_opr_log</module>
		<!--定时任务组件-->
		<module>base_schedule</module>
		<!--session共享，使用redis做session缓存-->
	    <module>base_session_redis</module>
		<!--工作流模块-->
		<module>base_workflow</module>
		<!--微信管理模块，包括微信登录、自动回复，扫码关注、微信支付等功能-->
		<module>base_weixin</module>
		<!--编码生成规则，用于生成系统需要的各种编码，例如企业编码，订单编码，送货单号等。-->
		<module>base_code_generator</module>
		<!--用户设置模块-->
		<module>base_userprofile</module>
		<!--基础信息模块，包括项目信息，字典组功能-->
		<module>base_module</module>
		<!--测试模块，集成系统单元测试功能-->
		<module>base_test</module>
		<!--消息管理模块：包括邮件消息、系统消息、微信消息-->
    	<module>base_message</module>
		<!--代码生成器-->
    	<module>base_template</module>
		<!--代码生成器-->
    	<module>base_interface_log</module>
  </modules>
</project>
