技术汇总:第十章:Maven Profile动态选择配置文件

Maven Profile
什么是MavenProfile

在我们平常的java开发中,会经常使用到很多配制文件(xxx.properties,xxx.xml),而当我们在本地开发(dev),测试环境测试(test),线上生产使用(product)时,需要不停的去修改这些配制文件,次数一多,相当麻烦。现在,利用maven的filter和profile功能,我们可实现在编译阶段简单的指定一个参数就能切换配制,提高效率,还不容易出错.

profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。
Maven Profile入门

修改pinyougou-page-web的pom.xml

<properties>
          <port>9105</port>
      </properties>
      <build>  
          <plugins>        
              <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <!-- 指定端口 -->
                        <port>${port}</port>
                        <!-- 请求路径 -->
                        <path>/</path>
                    </configuration>
                </plugin>
          </plugins> 
        </build>


运行tomcat7:run ,发现运行结果是一样的,因为port是变量,而变量值是定义为9105。这其实就是我们之前学习的maven的变量。

那我们现在思考一下,如果这个端口在开发时使用9105,如果在生产环境(或其他环境)为9205呢?如何解决值的动态切换呢?

这时我们修改pom.xml,增加profile定义

 <profiles>
          <profile>
              <id>dev</id>
              <properties>
                  <port>9105</port>
              </properties>
          </profile>
          <profile>
              <id>pro</id>
              <properties>
                  <port>9205</port>
              </properties>
          </profile> 
      </profiles>

执行命令 tomcat7:run -P pro 发现以9205端口启动

执行命令 tomcat7:run -P dev 发现以9105端口启动

-P 后边跟的是profile的id

如果我们只执行命令tomcat7:run ,也是以9105启动,因为我们一开始定义的变量值就是9105,就是在不指定profileID时的默认值.

 

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120575397

posted @ 2023-01-06 20:40  忘川信使  阅读(113)  评论(0编辑  收藏  举报