>我有一个像这样的 Maven 项目目录 -
MyProjectName
> src/main/java
> src/main/resources
> test.properties
> src
> main
> webapp
> WEB-INF
> context
> project.properties
> pom.xml
我想替换上下文目录中的项目属性中的内容。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
测试属性可以替换为
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>
但它不起作用,我想像测试属性一样替换项目属性中的内容。任何人都可以提供帮助,非常感谢!
maven war 插件允许您添加资源文件夹。 请参阅"网络资源": http://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html
我认为这应该简化一些事情。