Maven Profile 根据运行环境选择配置文件
程序员文章站
2022-06-09 08:21:59
...
前言
在开发和部署过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,配置会不一样,比如数据源配置、消息、缓存、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力。maven提供了一种方便的解决这种问题的方案——profile。
Profile简介
profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。
Profile配置作用范围有三种
1.特定项目的profile配置我们可以定义在该项目的pom.xml文件中
2.特定用户的profile配置,我们可以在用户目录下的.m2/settings.xml文件中定义profile
3.全局的profile配置定义在Maven安装目录下的"conf/settings.xml"
使用Profile
下面针对第一种作用范围说明,在项目的pom.xml中添加如下的profile配置:
以上定义了三个不同环境下的profile配置,在src/main/resources/目录下定义三个配置文件
分别对应三个不同环境
1.开发环境 application-dev.properties
2.测试环境 application-test.properties
3.生产环境 application-prod.properties
配置Maven资源插件
参数<filtering>true</filtering>,一定要设置成true.这样才会用对应env参数表示的配置文件。
激活profile
1.使用<activeByDefault>true</activeByDefault> 默认的激活
2.使用-P参数显示激活一个profile,如: mvn package –Pdev
3.使用-Denv=dev 激活 如:mvn -Denv=dev integration-test
Profile的详细使用介绍参见
http://maven.apache.org/guides/introduction/introduction-to-profiles.html
在开发和部署过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,配置会不一样,比如数据源配置、消息、缓存、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力。maven提供了一种方便的解决这种问题的方案——profile。
Profile简介
profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。
Profile配置作用范围有三种
1.特定项目的profile配置我们可以定义在该项目的pom.xml文件中
2.特定用户的profile配置,我们可以在用户目录下的.m2/settings.xml文件中定义profile
3.全局的profile配置定义在Maven安装目录下的"conf/settings.xml"
使用Profile
下面针对第一种作用范围说明,在项目的pom.xml中添加如下的profile配置:
<profiles> <profile> <!-- 本地开发环境 --> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> <activation> <!-- 设置默认激活这个配置 --> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <!-- 生产环境 --> <id>prod</id> <properties> <profiles.active>prod</profiles.active> </properties> </profile> <profile> <!-- 测试环境 --> <id>test</id> <properties> <profiles.active>test</profiles.active> </properties> </profile> </profiles>
以上定义了三个不同环境下的profile配置,在src/main/resources/目录下定义三个配置文件
分别对应三个不同环境
1.开发环境 application-dev.properties
2.测试环境 application-test.properties
3.生产环境 application-prod.properties
配置Maven资源插件
<build> <finalName>mvn-demo-profile</finalName> <filters> <filter>src/main/resources/application-${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-jar-plugin</artifactId> </plugin> </plugins> </build>
参数<filtering>true</filtering>,一定要设置成true.这样才会用对应env参数表示的配置文件。
激活profile
1.使用<activeByDefault>true</activeByDefault> 默认的激活
2.使用-P参数显示激活一个profile,如: mvn package –Pdev
3.使用-Denv=dev 激活 如:mvn -Denv=dev integration-test
Profile的详细使用介绍参见
http://maven.apache.org/guides/introduction/introduction-to-profiles.html
上一篇: 香椿酱的做法很简单
下一篇: MySQL开发之分页优化
推荐阅读
-
vue.js根据代码运行环境选择baseurl的方法
-
Maven Profile 根据运行环境选择配置文件
-
Maven Profile 根据运行环境选择配置文件
-
POM中profile配置maven根据不同的运行环境,打包不同的配置文件
-
maven,maven-resources-plugin根据不同环境覆盖配置文件
-
maven根据不同的运行环境,打包不同的配置文件
-
MAVEN大白话笔记(二):pom文件配置profile及resourcesa解决spring不同环境配置文件问题
-
【Maven】配置pom.xml,根据不同环境启用不同的配置文件
-
Maven根据不同环境打包不同配置文件
-
vue.js根据代码运行环境选择baseurl的方法