java – 在Spring ApplicationContext.xml中推送maven属性

我想将project.version从maven推送到appicationContext.xml,如下所示,

<mvc:resources mapping="/static/${project.version}/**" location="/static/"/>

在pom.xml中,我按如下方式配置了maven过滤器

<resources>
            <resource>
                <directory>${basedir}/src/main/webapp/WEB-INF</directory>
                <filtering>true</filtering>
                <includes>
                  <include>**/applicationContext.xml</include>
                </includes>
            </resource>

</resources>

过滤器工作正常,但applicationContext.xml移动到目标目录中的类文件夹.我希望它在WEB-INF目录中.希望有动态applicationContext.xml用于静态资源的缓存清除

配置:使用Spring 3.2.xxx

最佳答案 这是因为您将Web资源过滤为普通资源,并且此资源将复制到classpath.

要根据需要正确过滤网络资源,请删除< resources>部分并试试这个:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <webResources>
            <resource>
                <filtering>true</filtering>
                <directory>src/main/webapp</directory>
                <includes>
                    <include>WEB-INF/applicationContext.xml</include>
                </includes>
            </resource>
        </webResources>
    </configuration>
</plugin>

这样它就能按你的意愿工作.

点赞