[Maven]构建配置文件

文档说明: Maven构建配置文件

01. 背景

在开发过程中,我们的项目会存在不同的运行环境(开发、测试、生产),而不同环境中项目的某些配置(数据源等)是不一样的,如果我们将软件部署到不同环境都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力。为此Maven提供了一种灵活的解决方案:就是profile功能。

02. 激活方式

1. 通过maven命令参数

即在使用maven打包时通过-P参数,-P后跟上profile的唯一id,如

mvn package -Ptest

2. 通过pom文件里的activation属性

<profile>
    <id>prod</id>
    <properties>
        <profiles.active>prod</profiles.active>
    </properties>
    <!-- activation用来指定激活方式,可以根据jdk环境,操作系统,环境变量,文件的存在或缺失 -->
    <activation>
        <!--配置默认激活-->
        <activeByDefault>true</activeByDefault>
        
        <!--通过jdk版本-->
        <!--当jdk环境版本为1.5时,此profile被激活-->
        <jdk>1.5</jdk>
        <!--当jdk环境版本1.5或以上时,此profile被激活-->
        <jdk>[1.5,)</jdk>

        <!--根据当前操作系统-->
        <os>
            <name>Windows XP</name>
            <family>Windows</family>
            <arch>x86</arch>
            <version>5.1.2600</version>
        </os>

        <!--通过系统环境变量,name-value自定义-->
        <property>
            <name>env</name>
            <value>test</value>
        </property>

        <!--通过文件的存在或缺失-->
        <file>
            <missing>target/generated-sources/axistools/wsdl2java/com/companyname/group</missing>
            <exists/>
        </file>
    </activation>
</profile>

这里我写了多种方式,可以通过activeByDefault、jdk版本、操作系统、系统环境变量(在win10我试了不成功,win7可以,不知道为啥)、文件的存在或缺失,实际项目可以根据需要选取一种即可。这种的优先级低于maven命令参数指定的方式。

3. settings.xml中使用activeProfiles指定(了解即可)

即mave目录下的settings.xml也可以添加下面的代码来指定激活哪个profile。

<activeProfiles>  
    <activeProfile>test</activeProfile>  
</activeProfiles> 

注意:

       1. 修改{USER_HOME}/.m2/settings.xml,针对的当前用户的profile配置;修改{MAVEN_HOME}/conf/settings.xml,针对的是全局的profile配置。

       2. profile也可以定义在setting.xml文件中,但是这种方式个人感觉并不实用的,不推荐。

附:推荐springBoot,命令

参考:Maven的profile使用以及与springBoot的结合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值