pom.xml 10.8 KB
<?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>
	
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.6.RELEASE</version>
	</parent>
	
	<groupId>com.jeesite</groupId>
	<artifactId>jeesite-parent</artifactId>
	<version>4.1.5-SNAPSHOT</version>
	<packaging>pom</packaging>
	
	<name>JeeSite Parent</name>
	<url>http://jeesite.com</url>
	<inceptionYear>2013-Now</inceptionYear>
	
	<properties>
		
		<!-- common version setting -->
		<commons-io.version>2.6</commons-io.version>
		<commons-fileupload.version>1.3.3</commons-fileupload.version>
		<commons-beanutils.version>1.9.3</commons-beanutils.version>
		<commons-text.version>1.3</commons-text.version>
		<ant.version>1.9.7</ant.version>
		<fst.version>2.57</fst.version>
		<json.version>20180130</json.version>
		<jsoup.version>1.11.3</jsoup.version>
		<commons-email.version>1.5</commons-email.version>
		<activation.version>1.1.1</activation.version>
		<UserAgentUtils.version>1.21</UserAgentUtils.version>
		<!-- <metadata-extractor.version>2.11.0</metadata-extractor.version> -->
		<thumbnailator.version>0.4.8</thumbnailator.version>
		<twelvemonkeys.version>3.4.1</twelvemonkeys.version>
		<blade-patchca.version>1.1.0</blade-patchca.version>
		<jmimemagic.version>0.1.5</jmimemagic.version>
		<zxing.version>3.3.2</zxing.version>
		<poi.version>3.14</poi.version>
		<pinyin4j.version>2.5.1</pinyin4j.version>
		
		<!-- framework version setting -->
		<mybatis.version>3.4.6</mybatis.version>
		<mybatis-spring.version>1.3.2</mybatis-spring.version>
		<jsqlparser.version>1.1</jsqlparser.version>
		<druid.version>1.1.10</druid.version>
		<shiro.version>1.4.0</shiro.version>
		<j2cache.version>2.7.0-release</j2cache.version>
		<beetl.version>2.9-SNAPSHOT</beetl.version>
		<swagger.version>1.5.20</swagger.version>
		
		<!-- environment setting -->
		<java.version>1.8</java.version>
		<maven.test.skip>true</maven.test.skip>
		<maven-surefire-plugin.version>2.18.1</maven-surefire-plugin.version><!-- 降级到该版本,新版本可能会出现VM崩溃 -->
		<eclipse-plugin-download-sources>false</eclipse-plugin-download-sources>
		<eclipse-plugin-download-javadocs>false</eclipse-plugin-download-javadocs>
		
	</properties>
	
	<dependencies>
		
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<scope>provided</scope>
		</dependency>
		
	</dependencies>
	
	<build>
	
		<plugins>
		
			<!-- Compiler 插件, 设定JDK版本 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<showWarnings>true</showWarnings>
<!-- 					<compilerArguments> -->
<!-- 						<verbose /> 输出有关编译器正在执行的操作的消息 -->
<!-- 						<bootclasspath>${JAVA_HOME}\jre\lib\rt.jar;${JAVA_HOME}\jre\lib\jce.jar</bootclasspath> -->
<!-- 					</compilerArguments> -->
				</configuration>
			</plugin>
				
			<!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<!-- <encoding>${project.build.sourceEncoding}</encoding> -->
					<archive>
						<addMavenDescriptor>false</addMavenDescriptor>
					</archive>
				</configuration>
				<executions>
					<execution>
						<!-- <phase>prepare-package</phase>
						<goals>
							<goal>jar</goal>
						</goals> -->
						<configuration>
							<!-- <classesDirectory>${project.outputDirectory}</classesDirectory>
							<finalName>${finalName}</finalName>
							<outputDirectory>${project.build.directory}/${project.artifactId}/WEB-INF/lib</outputDirectory>
							<includes>
								<include>com/thinkgem/jeesite/**</include>
							</includes> -->
							<archive>
								<manifest>
									<!-- Add directory entries -->
									<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
									<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
									<addClasspath>true</addClasspath>
								</manifest>
							</archive>
						</configuration>
					</execution>
				</executions>
			</plugin>
			
			<!-- resource插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
			</plugin>
			
			<!-- install插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-install-plugin</artifactId>
			</plugin>
			
			<!-- clean插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
			</plugin>
			 
			<!-- ant插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
			</plugin>
			
			<!-- dependency插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
			</plugin>
			
			<!-- 测试用例插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
			</plugin>
			
		</plugins>
		
		<pluginManagement>
		
			<plugins>
				
				<!-- 打包插件, war包名称不带版本号 -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<configuration>
						<warSourceExcludes>
							WEB-INF/classes/*.lic,
							userfiles/**
						</warSourceExcludes>
						<webappDirectory>${project.build.directory}/${project.artifactId}</webappDirectory>
						<warName>${project.artifactId}</warName>
						<archive>
							<addMavenDescriptor>false</addMavenDescriptor>
						</archive>
					</configuration>
				</plugin>
				
				<!-- Eclipse 插件 -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<configuration>
						<downloadSources>${eclipse-plugin-download-sources}</downloadSources>
						<downloadJavadocs>${eclipse-plugin-download-javadocs}</downloadJavadocs>
						<wtpversion>2.0</wtpversion>
						<jeeversion>6.0</jeeversion>
						<additionalConfig>
							<file>
								<name>.settings/org.eclipse.core.resources.prefs</name>
								<content>
									<![CDATA[eclipse.preferences.version=1${line.separator}encoding/<project>=${project.build.sourceEncoding}${line.separator}]]>
								</content>
							</file>
						</additionalConfig>
						<additionalProjectnatures>
							<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
						</additionalProjectnatures>
					</configuration>
				</plugin>

				<!-- Java Document Generate -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<configuration>
				        <aggregate>true</aggregate>
					</configuration>
					<executions>
						<execution>
							<phase>prepare-package</phase>
							<goals>
								<goal>jar</goal>
							</goals>
							<configuration>
								<additionalparam>-Xdoclint:none</additionalparam>
							</configuration>
						</execution>
					</executions>
				</plugin>

				<!-- YUI Compressor (CSS/JS压缩) -->
				<plugin>
					<groupId>net.alchim31.maven</groupId>
					<artifactId>yuicompressor-maven-plugin</artifactId>
					<version>1.5.1</version>
					<executions>
						<execution>
							<phase>prepare-package</phase>
							<goals>
								<goal>compress</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<encoding>UTF-8</encoding>
						<jswarn>false</jswarn>
						<nosuffix>true</nosuffix>
						<linebreakpos>30000</linebreakpos>
						<force>true</force>
						<includes>
							<include>**/*.js</include>
							<include>**/*.css</include>
						</includes>
						<excludes>
							<exclude>**/*.min.js</exclude>
							<exclude>**/*.min.css</exclude>
						</excludes>
 					<aggregations>
 						<aggregation>
 							<removeIncluded>true</removeIncluded>
 							<insertNewLine>true</insertNewLine>
 							<inputDir>${project.build.directory}/${project.build.finalName}</inputDir>
 							<output>${project.build.directory}/${project.build.finalName}/app/js/app.pack.js</output>
 							<includes>
 								<include>app/js/app*.js</include>
 							</includes>
 							<excludes>
 								<exclude>**/**min.js</exclude>
 							</excludes>
 						</aggregation>
 					</aggregations>
					</configuration>
				</plugin>

			</plugins>
			
		</pluginManagement>
		
		<!-- 资源文件配置 -->
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
		</resources>
		
	</build>
	
	<developers>  
		<developer>
			<id>thinkgem</id>
			<name>WangZhen</name>
			<email>thinkgem at 163.com</email>
			<roles><role>Project lead</role></roles>
			<timezone>+8</timezone>  
		</developer>
	</developers>
	
	<organization>
		<name>JeeSite</name>
		<url>http://jeesite.com</url>
	</organization>
	
	<repositories>
		<repository>
			<id>aliyun-repos</id>
			<url>https://maven.aliyun.com/repository/public</url>
			<releases><enabled>true</enabled></releases>
			<snapshots><enabled>false</enabled></snapshots>
		</repository>
        <repository>
		    <id>sonatype-repos-s</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
			<releases><enabled>false</enabled></releases>
			<snapshots><enabled>true</enabled></snapshots>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>aliyun-repos</id>
			<url>https://maven.aliyun.com/repository/public</url>
		</pluginRepository>
	</pluginRepositories>

	<profiles>

		<!-- 打包项目 -->
		<profile>
			<id>javadoc</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- 打包项目 -->
		<profile>
			<id>package</id>
			<build>
				<plugins>
					<plugin>
						<groupId>net.alchim31.maven</groupId>
						<artifactId>yuicompressor-maven-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- 部署项目 -->
		<profile>
			<id>deploy</id>
			<build>
				<plugins>
					<plugin>
						<groupId>net.alchim31.maven</groupId>
						<artifactId>yuicompressor-maven-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
			<distributionManagement>
				<snapshotRepository>
					<id>sonatype-repos-s</id>
					<url>https://oss.sonatype.org/content/repositories/snapshots</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>
	</profiles>

</project>