我有一个Maven项目,目录就像这样 -
MyProjectName
> src/main/java
> src/main/resources
> test.properties
> src
> main
> webapp
> WEB-INF
> context
> project.properties
> pom.xml
我想替换上下文目录中project.properties中的内容。 test.properties和project.properties都是 -
myprop2 = ${foo.bar}
像这样的pom.xml -
<project xmlns=...>
<dependencies>
...
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
...
</build>
<profiles>
<profile>
<id>env-dev</id>
<activation>
<property>
<name>env</name>
<value>dev</value>
</property>
</activation>
<properties>
<foo.bar>othervalue</foo.bar>
</properties>
</profile>
</profiles>
</project>
这样,当我跑
时mvn process-resources -Denv=dev
test.properties可以替换为
myprop2 = othervalue
但是,我的问题是,我不知道如何在上下文中详细说明该文件,我已经尝试过
src/main/webapp/WEB-INF/context //1
WEB-INF/context //2
<configuration> //3
<webResources>
<resource>
<directory>src/main/webapp/WEB-INF/context</directory>
</resource>
</webResources>
</configuration>
但它不起作用,我想像test.properties一样替换project.properties中的内容。 任何人都可以提供帮助,非常感谢!
答案 0 :(得分:0)
maven war插件允许您添加资源文件夹。请参阅“webResources”:http://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html
我认为这应该简化一些事情。