MavenProfile 的使用和常见问题

1.什么是MavenProfile

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

2.切换数据库连接配置
2.1编写不同环境的配置文件
(1)我们在**-dao工程中src/main/resources下创建filter文件夹
(2)filter文件夹下创建db_dev.properties ,用于配置开发环境用到的数据库

env.jdbc.driver=com.mysql.jdbc.Driver
env.jdbc.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
env.jdbc.username=root
env.jdbc.password=root

(3)filter文件夹下创建db_pro.properties

env.jdbc.driver=com.mysql.jdbc.Driver
env.jdbc.url=jdbc:mysql://localhost:3306/test_pro?characterEncoding=utf-8
env.jdbc.username=root
env.jdbc.password=root

(4)修改properties下的db.properties

jdbc.driver=${env.jdbc.driver}
jdbc.url=${env.jdbc.url}
jdbc.username=${env.jdbc.username}
jdbc.password=${env.jdbc.password}

2.2定义Profile

修改pom.xml
<!--默认的环境-->
<properties>
<!--定义变量-->
    <env>dev</env>
</properties>

<profiles>
    <!--开发环境-->
    <profile>
        <id>dev</id>
        <properties>
            <env>dev</env>
        </properties>
    </profile>
    <!--生产者环境-->
    <profile>
        <id>pro</id>
        <properties>
            <env>pro</env>
        </properties>
    </profile>
</profiles>

这里我们定义了2个profile,分别是开发环境和生产环境

2.3资源过滤与变量替换

修改pom.xml ,在build节点中添加如下配置     
 <build>
    <filters><!--定义过滤器-->
        <filter>src/main/resources/filters/db_${env}.properties</filter>
    </filters>

    <resources>
        <resource><!--这个目录下的资源进行过滤-->
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

这里我们利用filter实现对资源文件(resouces) 过滤

maven filter可利用指定的xxx.properties中对应的key=value对资源文件中的${key}进行替换,最终把你的资源文件中的username=${key}替换成username=value

2.4打包(用来看配置的数据库是否动态的改变)
在test-dao 工程 执行命令:package -P pro , 解压生成的jar包,观察db.properties配置文件内容,已经替换为生产环境的值。
在test-service工程 执行命令 pageage ,解压生成的war包里的test-dao的jar包,发现也是生成环境的值。

2.5测试运行
略…

常见问题:

这里写图片描述

出现以上问题,是因为在dao层的命令行中输入mvn install -P pro

解决方案: 1.清理 2.创建一个安装命令install -P pro 执行即可,方可解决以上

这里写图片描述

安装完,启动即可!!!!!
以上写的不对的地方,请及时通知博主,谢谢!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值