spring启动项目的时候可以自动的读取到.propertity文件的内容。在web.xml中加载其他的xml文件时,如果xml文件中有${dubbo.application.owner}则编译的时候不会被替换成propertity文件中的内容,则项目启动报错:无法识别该属性。
解决办法:在相对应的模块的pom.xml中加上
<build>
<filters>
<filter>src/main/resources/conf/config_${env}.properties</filter> <!--此处为propertity文件的路径。此处的${env}为下文的标签-->
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
另外需要配置:
<profiles>
<!-- 开发环境 -->
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
</profile>
<!-- 标准测试环境 -->
<profile>
<id>std-test</id>
<properties>
<env>std-test</env>
</properties>
</profile>
<!-- 生产环境 -->
<profile>
<id>product</id>
<properties>
<env>product</env>
</properties>
</profile>
</profiles>
编译项目则通过:
mvn clean package -DskipTests -Pstd-test 此时编译的是测试环境的propertity文件的内容