我正在尝试配置maven过滤器来更改applicationContext.xml中的某些值,请参阅我的过滤器:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/webapp/WEB-INF</directory>
<filtering>true</filtering>
<targetPath>WEB-INF</targetPath>
</resource>
</resources>
在“WEB-INF”里面我有applicationContext.xml,看到代码的和平:
<property name="jdbcUrl" value="jdbc:postgresql://localhost/${project.build.finalName}" />
当我执行mvn install
maven时,使用新的applicationContext.xml文件在 / WEB-INF / classes / WEB-INF 中生成另一个文件夹WEB-INF,其中$ {project.build。 fileName}已解析,但 / WEB-INF / 中的applicationContext.xml没有解析$ {project.build.finalName}。
答案 0 :(得分:0)
src / main / webapp及以下文件不是普通资源,而是网络资源。它们由maven-war-plugin过滤。
请参阅this answer。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.5</version>
<configuration>
<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
<webResources>
<resource>
<directory>src/main/webapp/WEB-INF</directory>
<targetPath>/WEB-INF</targetPath>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>