1. 程式人生 > >使用maven profile 構建不同環境引用不同的值

使用maven profile 構建不同環境引用不同的值

技術分享 resource filters htm rect file .com enc fig

需要做的配置如下

<profiles>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <filters>
                    <filter>vars/vars.dev.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>sit</id>
            <build>
                <filters>
                    <filter>vars/vars.sit.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>pre</id>
            <build>
                <filters>
                    <filter>vars/vars.pre.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>prod</id>
            <build>
                <filters>
                    <filter>vars/vars.prod.properties</filter>
                </filters>
            </build>
        </profile>
    </profiles>

其中vars所在的目錄為

技術分享

pom文件中一定要有如下的配置 缺一不可

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <useDefaultDelimiters>false
</useDefaultDelimiters> <delimiters> <delimiter>$[*]</delimiter> </delimiters> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3
.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> <resources> <resource> <directory>${basedir}/src/main/resources</directory> <filtering>true</filtering> </resource> </resources>

尤其要註意 resources標簽,只有包含在resources標簽裏面的配置文件 裏面的${key}才會被替換掉,如果不配resources這種配置文件是不會生效的。

更多信息可以參考

http://www.cnblogs.com/wangyang108/p/6030735.html

使用maven profile 構建不同環境引用不同的值