0%

maven-Profile

项目会有很多不同的环境,比如开发(DEV),集成测试(SIT),用户测试(UAT),生产(PROD),需要为不同的环境传递不同的值,一般的做法是各个环境不同的配置文件,不过不方便管理。maven的Profiles标签,很好的解决了这个问题。

给DEV和PROD传不同的值

  1. 新建database.properties文件
    1
    database=${database}
  2. 运用filtering,pom文件新增
    1
    2
    3
    4
    5
    6
    7
    8
    <build>
    <resources>
    <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    </resource>
    </resources>
    </build>
  3. 创建profiles,pom文件新增
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <profiles>
    <profile>
    <id>dev</id>
    <properties>
    <database>mysql</database>
    </properties>
    <activation>
    <activeByDefault>true</activeByDefault>
    </activation>
    </profile>
    <profile>
    <id>prod</id>
    <properties>
    <database>oracle</database>
    </properties>
    </profile>
    </profiles>
    • 命令行输入mvn clean compile,根据上文配置,默认profile是dev,输出mysql
    • 命令行输入mvn clean compile -P prod,则会输出oracle

参考资料

mkyong.com