maven 编译替换占位符

首先开启资源配置的插件,由此插件替换占位符

<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.5</version>
                    <configuration>
                        <useDefaultDelimiters>false</useDefaultDelimiters>
                        <delimiters>
                            <delimiter>${*}</delimiter>
                        </delimiters>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>

然后配置字典的目录,占位符的值从这个文件中取得

<build>
        <filters>
            <filter>src/main/resources/config/${env}.properties</filter>
        </filters> 
...

 

配置要被替换的文件目录,该目录下的文件中的占位符会被替换掉

<build> 
        <resources>
            <resource>
                <filtering>true</filtering>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>

。。。

 

配置profiles  在profile中定义env参数用来指定不同profile下使用的字典文件

<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>server54</id>
            <properties>
                <env>server54</env>
            </properties>
        </profile> 
    </profiles>

 

在 src/main/resources/config/  文件夹下创建爱你对应的 ${env}.properties就可以了

logging.path=/usr/local/RestData/log/
etl.allowRunTask=false

 

 

 

 

使用命令行打包项目,发现application.propties中的占位符被替换了

maven clean  package -P server54

 

 在开发环境下默认的是dev配置,右键项目 maven--update 就可以使用dev环境的配置

 

posted @ 2019-01-17 10:34  leechg  阅读(3017)  评论(0编辑  收藏  举报