ResourceUrlEncodingFilter不版本Javascript文件

时间:2016-03-04 21:45:07

标签: javascript java spring spring-mvc

引入spring-webmvc 4.2.5.RELEASE的Spring Boot 1.3.3.RELEASE不会使用ResourceUrlEncodingFilter对Javascript文件进行版本化。

项目布局:

Project Layout

的pom.xml:

int

WebMvcConfiguration.java:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.3.RELEASE</version>
    <relativePath />
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
        <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

</dependencies>

1 个答案:

答案 0 :(得分:0)

我能够使用此配置。

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
     registry.addResourceHandler("/resources/**")
        .addResourceLocations("/**")
        .resourceChain(true)
        .addResolver(
            new VersionResourceResolver().addContentVersionStrategy("/**"));
}

并关闭javascript文件的Spring Security:

@Configuration
@EnableWebSecurity
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {    
    // ...  
    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/js/**");
    }
}