在Spring ApplicationContext.xml

时间:2016-01-13 12:26:08

标签: java spring 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

1 个答案:

答案 0 :(得分:2)

这是因为您将Web资源过滤为普通资源,并且此资源将复制到类路径。

要根据需要正确过滤网络资源,请删除<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>

这样它可以按你的意愿工作。