我有两个配置属性文件和两个application Context xml files
,一个用于测试,另一个用于开发,我必须指定每个案例使用哪个过滤器。
我尝试这样做但是它不起作用,它选择pom.xml
中的最后一个过滤器,所以当我检查文件夹applicationContext.xml
和{{1}中的文件target/classes
时我发现这两个文件的值与/target/test-classes
pom.xml
所以我想知道是否有解决方案为每种情况指定要使用的适当过滤器?
答案 0 :(得分:1)
您可以使用profiles。
不幸的是,filters
中不允许profile
,因此您可以使用以下解决方法:
外部资料写道:
<filters>
<filter>src/${switch}/filters/filter.properties</filter>
</filters>
在主要个人资料中写道:
<properties>
<switch>main</switch>
</properties>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
在测试档案中写道:
<properties>
<switch>test</switch>
</properties>
<testResources>
<testResource>
<filtering>true</filtering>
<directory>src/test/resources</directory>
</testResource>
</testResources>
最后运行:
mvn install -Pmain
或:
mvn install -Ptest