https://blog.csdn.net/zhaojianting/article/details/80321488
https://blog.csdn.net/zhaojianting/article/details/80324533
install 是发布到仓库和私服仓库 清理 编译 测试 打包
<?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>cn.com.yitong</groupId>
	<artifactId>ares-mmc</artifactId>
	<version>2.0.1</version>
	<description>营销管理平台</description>
	<name>ares-mmc</name>
	<packaging>war</packaging>
	<url>http://maven.apache.org</url>
	<properties>
		<!-- ares框架版本 -->
		<ares.version>5.1.18</ares.version>
		<!-- 项目编译字符集 -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<!-- jdk编译版本 -->
		<jdk.version>1.8</jdk.version>
		<dubbo.version>2.8.4</dubbo.version>
		<!-- maven tomcat7插件版本 -->
		<maven-tomcat-plugin.version>2.0</maven-tomcat-plugin.version>
		<!-- maven编译插件版本 -->
		<maven-compiler-plugin.version>2.5.1</maven-compiler-plugin.version>
		<!-- 源码打包插件 -->
		<maven-source-plugin.version>2.4</maven-source-plugin.version>
		<!-- maven打war插件版本号 -->
		<maven-war-plugin.version>2.6</maven-war-plugin.version>
		<poi.version>3.15</poi.version>
		<junit.version>4.12</junit.version>
        <surk_version>1.0.0.20181018-SNAPSHOT</surk_version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>cn.com.yitong</groupId>
			<artifactId>ares-web-core</artifactId>
			<version>${ares.version}</version>
		</dependency>
		<dependency>
			<groupId>cn.com.yitong</groupId>
			<artifactId>ares-logger-log4j2</artifactId>
			<version>${ares.version}</version>
		</dependency>
		<dependency>
			<groupId>cn.com.yitong</groupId>
			<artifactId>ares-action-atom</artifactId>
			<version>${ares.version}</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.12</version>
		</dependency>
		<!-- 测试环境添加如下jar,去掉jerry -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
		<!-- 添加jetty容器,去掉上面的javax.servlet相关的jar -->
		<dependency>
			<groupId>cn.com.yitong</groupId>
			<artifactId>ares-web-jetty</artifactId>
			<version>${ares.version}</version>
		</dependency>
		<!-- 数据库驱动 -->
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc14</artifactId>
			<version>10.2.0.4.0</version>
			<scope>system</scope>
			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc14-10.2.0.4.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.19</version>
		</dependency>
		<!-- fasterxml -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>2.6.5</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>2.6.5</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.6.5</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.1.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
			<version>4.1.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.1</version>
		</dependency>
		<!-- poi office -->
		<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>org.apache.poi</groupId>
			<artifactId>poi-ooxml-schemas</artifactId>
			<version>${poi.version}</version>
		</dependency>
		<!-- disruptor -->
		<dependency>
			<groupId>com.lmax</groupId>
			<artifactId>disruptor</artifactId>
			<version>3.3.2</version>
		</dependency>
		<!-- 测试依赖包 start -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.xiongyingqi</groupId>
			<artifactId>qrcode</artifactId>
			<version>0.1.5</version>
		</dependency>
		<!-- dubbo -->
		<dependency>
			<groupId>cn.com.yitong.ares</groupId>
			<artifactId>ares-cloud-service-api</artifactId>
			<version>1.0.0-SNAPSHOT</version>
			<scope>system</scope>
			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ares-cloud-service-api-1.0.0-SNAPSHOT.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>${dubbo.version}</version>
			<scope>system</scope>
			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/dubbo-2.8.4.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>cn.com.yitong</groupId>
			<artifactId>ares-dubbo-api</artifactId>
			<version>1.3.3</version>
			<scope>system</scope>
			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ares-dubbo-api-1.3.3.jar</systemPath>
			<exclusions>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.1.39</version>
		</dependency>
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.8</version>
			<exclusions>
				<exclusion>
					<artifactId>jmxtools</artifactId>
					<groupId>com.sun.jdmk</groupId>
				</exclusion>
				<exclusion>
					<artifactId>jmxri</artifactId>
					<groupId>com.sun.jmx</groupId>
				</exclusion>
				<exclusion>
					<artifactId>jms</artifactId>
					<groupId>javax.jms</groupId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.javassist</groupId>
			<artifactId>javassist</artifactId>
			<version>3.20.0-GA</version>
		</dependency>
		<dependency>
			<groupId>com.github.sgroschupf</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.1</version>
			<exclusions>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>de.javakaffee</groupId>
			<artifactId>kryo-serializers</artifactId>
			<version>0.26</version>
		</dependency>
		<dependency>
			<groupId>de.ruedigermoeller</groupId>
			<artifactId>fst</artifactId>
			<version>1.55</version>
		</dependency>
		<dependency>
			<groupId>com.wdph</groupId>
			<artifactId>wdph-job-core</artifactId>
			<version>2.1.1-SNAPSHOT</version>
		</dependency>
        <dependency>
            <groupId>com.wandaph</groupId>
            <artifactId>wandaph-surk-client</artifactId>
            <version>${surk_version}</version>
        </dependency>
	</dependencies>
	<profiles> 
    <!-- DEV集成测试环境,默认激活 -->  
    <profile> 
      <id>dev</id>  
      <properties> 
		<profiles.active>dev</profiles.active>
        <env>env/DEV</env> 
      </properties>  
      <activation> 
        <activeByDefault>true</activeByDefault> 
      </activation> 
    </profile>  
    <!-- UAT验收测试环境 -->  
    <profile> 
      <id>uat</id>  
      <properties>
	   <profiles.active>uat</profiles.active>
        <env>env/UAT</env> 
      </properties>  
    </profile> 
    <!-- SIT验收测试环境 -->  
    <profile> 
      <id>test</id>  
      <properties> 
	  <profiles.active>test</profiles.active>
        <env>env/TEST</env> 
      </properties>  
    </profile> 
    <!-- 上海性能测试环境 -->  
    <profile> 
      <id>shpfm</id>  
      <properties> 
	    <profiles.active>shpfm</profiles.active>
        <env>env/SHPFM</env> 
      </properties>  
    </profile>
    <!-- 上海性能测试环境 -->  
    <profile> 
      <id>pfm</id>  
      <properties> 
	    <profiles.active>pfm</profiles.active>
        <env>env/PFM</env> 
      </properties>  
    </profile> 	 	
    <!-- 生产环境 -->  
    <profile> 
      <id>pro</id>  
      <properties> 
	    <profiles.active>pro</profiles.active>
        <env>env/PRO</env> 
      </properties>  
    </profile> 
  </profiles>  
	<build>
        <finalName>mkt-admin</finalName>
		<plugins>
			<!-- tomcat7插件 -->
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>${maven-tomcat-plugin.version}</version>
				<configuration>
					<port>8080</port>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>9.4.8.v20171121</version>
			</plugin>
			<!-- 多个源码目录配置 -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>1.7</version>
				<executions>
					<execution>
						<id>add-source</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>add-source</goal>
						</goals>
						<configuration>
							<sources>
								<source>${basedir}/src/main/java</source>
								<!-- 我们可以通过在这里添加多个source节点,来添加任意多个源文件夹 -->
							</sources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- 打war包插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>${maven-war-plugin.version}</version>
			</plugin>
			<!-- 编译插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven-compiler-plugin.version}</version>
				<configuration>
					<source>${jdk.version}</source>
					<target>${jdk.version}</target>
					<encoding>${project.build.sourceEncoding}</encoding>
				</configuration>
			</plugin>
			<!-- 源码打包插件 -->
		<!-- 	<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>${maven-source-plugin.version}</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin> -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<version>2.6</version>
				<!-- <dependencies> <dependency> <groupId>cn.com.yitong</groupId> <artifactId>ares-packer</artifactId> 
					<version>${ares.version}</version> </dependency> </dependencies> -->
				<configuration>
					<appendAssemblyId>false</appendAssemblyId>
					<descriptors>
						<descriptor>src/main/assembly/${env}/assembly.xml</descriptor>
					</descriptors>
				</configuration>
				<executions>
					<execution>
						<id>make-assembly</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
						<!-- <configuration> <appendAssemblyId>false</appendAssemblyId> <descriptorRefs> 
							<descriptorRef>assembly</descriptorRef> </descriptorRefs> </configuration> -->
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>2.8</version>
				<executions>
					<execution>
						<id>copy-war</id>
						<phase>package</phase>
						<goals>
							<goal>copy</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>${project.groupId}</groupId>
									<artifactId>${project.artifactId}</artifactId>
									<version>${project.version}</version>
									<type>${project.packaging}</type>
									<destFileName>mkt-admin-${profiles.active}.war</destFileName>
								</artifactItem>
							</artifactItems>
							<outputDirectory>../ares-mmc/playbook/roles/task/files/</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
<assembly>
  <id>dev</id>
  <formats>
	 <format>war</format>
	 <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
  <!-- 将项目依赖的JAR包输出到 WEB-INF/lib -->
   <dependencySet>
      <outputDirectory>WEB-INF/lib</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
    </dependencySet>    
  </dependencySets>
  <fileSets>
  	<!-- 专属的差异配置 -->
	<fileSet>
		<directory>src/main/assembly/env/DEV/conf</directory>
		<outputDirectory>WEB-INF/classes</outputDirectory>
		<fileMode>0644</fileMode>
	</fileSet>
	<!-- 所有的配置 -->
	<fileSet>
      <directory>${project.build.outputDirectory}</directory>
      <outputDirectory>WEB-INF/classes</outputDirectory>
    </fileSet>
    <!-- 将 webapp 下的文件输出到 WAR 包 -->
    <fileSet>
      <directory>${project.basedir}/src/main/webapp</directory>
      <outputDirectory>/</outputDirectory>
    </fileSet>
  </fileSets>
</assembly>
 
                    
                     
                    
                 
                    
                 
         
