其中有个配置项:
<property name="url" value="${db-url}&useOldAliasMetadataBehavior=true" />
其中的${db-url}根据不同的环境有不同的值。
这个时候就要用到mvn profile了。
首先定义profile:
<profile> <!-- uat运行时环境 --> <!-- 打包时执行:mvn clean install -P uat -Dmaven.test.skip=true --> <id>uat</id> <properties> <db-url>jdbc:mysql://xxxxxx:3312/xxxxx?characterEncoding=utf-8</db-url> </properties> </profile>
要让这个profile定义的值能指派到db.xml中,需要用到另外一个mvn plugin:
resources> <!-- 告诉maven打包的时候讲所有src/main/resources路径下的文件打包到jar中 --> <resource> <directory>src/main/resources</directory> </resource> <!-- 告诉maven打包的时候讲所有src/main/resources路径下的OSGI-INF/blueprint/database-config.xml的时候替换这个文件中的占位符${XXX} --> <resource> <directory>src/main/resources</directory> <includes> <include>db.xml</include> <include>OSGI-INF/blueprint/blueprint.xml</include> </includes> <filtering>true</filtering> </resource> </resources>
打包的时候执行这个命令指派profile就行了:
mvn clean install -P uat -Dmaven.test.skip=true