β

maven使用filter,profile,resource打包不通的环境

lenglingx的个人页面 32 阅读

这个是我们公司和自己一直在使用,为了以后复制方便些,还是做个笔记吧!

先在maven的pom.xml中添加如下

<!-- 不同的打包环境 -->
	<profiles>
		<!-- 开发环境,默认激活 -->
		<profile>
			<id>dev</id>
			<properties>
				<env>dev</env>
			</properties>
			<activation>
				<activeByDefault>true</activeByDefault><!--默认启用的是dev环境配置 -->
			</activation>
		</profile>
		<!-- 生产环境 -->
		<profile>
			<id>production</id>
			<properties>
				<env>production</env>
			</properties>
		</profile>
		<!-- 灾备环境 -->
		<profile>
			<id>backup</id>
			<properties>
				<env>backup</env>
			</properties>
		</profile>
		<!-- 开发测试环境 -->
		<profile>
			<id>test</id>
			<properties>
				<env>test</env>
			</properties>
		</profile>
	</profiles>

在pom.xml下的build标签下添加filters这个配置

<build>
		<filters>
			<filter>src/main/resources/filter/${env}.properties</filter>
		</filters>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.4</version>
			</plugin>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<version>2.1</version>
				<configuration>
					<attach>true</attach>
				</configuration>
				<executions>
					<execution>
						<phase>compile</phase>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

在maven目录结构中的添加filter不同环境的配置文件

src/main/resources/filter/

dev.properties(开发)
test.properties(测试)
production.properties(生产)
backup.properties(灾备)

使用如下

mvn clean package -P test(打包test)
mvn clean package -P production(打包production)
mvn clean package -P backup(打包backup)

作者:lenglingx的个人页面
独钓渔的博客
原文地址:maven使用filter,profile,resource打包不通的环境, 感谢原作者分享。

发表评论