常用Maven插件配置

自己项目中常用的编译打包插件配置,MARK一下,后续新项目直接copy就好。

项目编译

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<configuration>
		<source>1.8</source>
		<target>1.8</target>
		<encoding>UTF-8</encoding>
	</configuration>
</plugin>

项目打包JAR

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jar-plugin</artifactId>
	<configuration>
		<!--不打包资源文件-->
		<excludes>
			<exclude>*.**</exclude>
			<exclude>*/*.xml</exclude>
		</excludes>
		<archive>
			<manifest>
				<addClasspath>true</addClasspath>
				<!--MANIFEST.MF 中 Class-Path 加入前缀-->
				<classpathPrefix>lib/</classpathPrefix>
				<!--jar包不包含唯一版本标识-->
				<useUniqueVersions>false</useUniqueVersions>
				<!--指定入口类-->
				<mainClass>cn.payadd.merchant2.MerchantApplication</mainClass>
			</manifest>
			<manifestEntries>
				<!--MANIFEST.MF 中 Class-Path 加入资源文件目录-->
				<Class-Path>./resources/</Class-Path>
			</manifestEntries>
		</archive>
		<outputDirectory>${project.build.directory}</outputDirectory>
	</configuration>
</plugin>

拷贝指定目录资源到指定位置

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-resources-plugin</artifactId>
	<configuration>
		<encoding>UTF-8</encoding>
	</configuration>
	<executions>
		<execution>
			<id>copy-properties-resources</id>
			<phase>validate</phase>
			<goals>
				<goal>copy-resources</goal>
			</goals>
			<configuration>
				<encoding>UTF-8</encoding>
				<outputDirectory>${project.build.outputDirectory}/props</outputDirectory>
				<resources>
					<resource>
						<directory>src/main/resources/profiles/${env.releaseType}</directory>
						<includes>
							<include>*.properties</include>
						</includes>
						<filtering>true</filtering>
					</resource>
				</resources>
			</configuration>
		</execution>
	</executions>
</plugin>

Spring Boot 项目编译打包

<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
	<configuration>
		<includes>
			<include>
				<groupId>null</groupId>
				<artifactId>null</artifactId>
			</include>
		</includes>
		<layout>JAR</layout>
		<addResources>true</addResources>
	</configuration>
	<executions>
		<execution>
			<goals>
				<goal>repackage</goal>
			</goals>
			<configuration>
				<!--配置jar包特殊标识 配置后,保留原文件,生成新文件 *-run.jar -->
				<!--配置jar包特殊标识 不配置,原文件命名为 *.jar.original,生成新文件 *.jar -->
				<!--<classifier>run</classifier>-->
			</configuration>
		</execution>
	</executions>
</plugin>

拷贝依赖

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-dependency-plugin</artifactId>
	<executions>
		<execution>
			<id>copy-dependencies</id>
			<phase>package</phase>
			<goals>
				<goal>copy-dependencies</goal>
			</goals>
			<configuration>
				<outputDirectory>
					${project.build.directory}/lib/
				</outputDirectory>
			</configuration>
		</execution>
	</executions>
</plugin>

拷贝资源文件

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-resources-plugin</artifactId>
	<executions>
		<execution>
			<id>copy-resources</id>
			<phase>package</phase>
			<goals>
				<goal>copy-resources</goal>
			</goals>
			<configuration>
				<resources>
					<resource>
						<directory>src/main/resources</directory>
					</resource>
				</resources>
				<outputDirectory>${project.build.directory}/resources</outputDirectory>
			</configuration>
		</execution>
	</executions>
</plugin>

引入外部资源

<resources>
	<resource>
		<directory>src/main/java</directory>
		<includes>
			<include>**/*.yml</include>
			<include>**/*.properties</include>
			<include>**/*.xml</include>
		</includes>
		<filtering>false</filtering>
	</resource>
	<resource>
		<directory>src/main/resources</directory>
		<includes>
			<include>**/*.yml</include>
			<include>**/*.properties</include>
			<include>**/*.xml</include>
		</includes>
		<filtering>false</filtering>
	</resource>
</resources>

留下评论

电子邮件地址不会被公开。