java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Maven在不同的环境获取不同配置文件的方法

Maven在不同的环境获取不同配置文件的方法

作者:StoneWu - 石头日记

这篇文章主要介绍了Maven在不同的环境获取不同配置文件的方法,需要的朋友可以参考下

最近准备把正在开发的项目给分为两个环境来部署,使用jenkins进行自动构建。

把maven部署多环境相关的资料看了下,都比较难理解,于是自己摸索,找到一个比较好的办法。

首先在 src/main/resource 下建两个文件夹,具体几个看你的环境有几个,我这里是分了两个,dev和product,开发环境和正式环境。

然后将配置文件分别放入两个目录中,然后把两个环境中的配置配好

接下来编辑项目的pom文件

进行如下配置

<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">
     ......
     ......
    <profiles>
    <!-- 开发环境 -->
        <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!-- 正式环境 -->
        <profile>
            <id>product</id>
            <properties>
                <env>product</env>
            </properties>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
        </profile>
    </profiles>
     ......
     ......
</project>

中间的properties是用来作为变量能在下文中取到的

然后在build节点中进行如下配置

<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">
......
......
<build>
    ......
    ......
    <resources>
        <!-- 此处是因为我的java目录中有一些xml文件,
        如果你的项目中的java目录下没有xml文件则可以不用配 -->
	<resource>
		<directory>src/main/java</directory>
		<includes>
			<include>**/*.properties</include>
			<include>**/*.xml</include>
		</includes>
		<!-- 是否替换资源中的属性 -->
		<filtering>false</filtering>
	</resource>
	<!-- 此处的用法就是${env}会替换成你的上面选择的具体环境 -->
	<resource>
		<directory>src/main/resources/${env}</directory>
		<!-- 是否替换资源中的属性 -->
		<filtering>true</filtering>
	</resource>
    </resources>
    ......
    ......
</build>
     ......
     ......
</project>

最后使用maven命令进行编译打包

mvn clean package -Pproduct

-P为指定某个profile,后面跟上具体的profile就行了,比如上面就指定的是product的profile,如果不加,则默认是dev的profile,可以倒回上面的配置看。

接下来就会根据你的命令进行编译打包啦~

到此这篇关于Maven在不同的环境获取不同配置文件的方法的文章就介绍到这了,更多相关Maven在不同的环境获取不同配置文件的方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文