编辑:这是在春季3.1.0
我已经看过关于这个问题的其他问题,并尝试了一些事情,但似乎没有什么对我有用。
我计划将我的版本号添加到静态资源的路径中,以强制浏览器对新版本的请求,因此我开始按照this part of the spring documentation的指示进行操作。
在进行任何更改之前,路径<context>/assets/js/base/lib/jquery-1.7.2.js
可以正常工作并指向现有文件。
我所做的是添加到我的java配置类中:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/my-assets/**")
.addResourceLocations("/assets/**");
}
计划是使用版本号,而不仅仅是my-assets
一旦我开始工作。但它没有,即使我的日志说:
17:28:56,077 INFO [SimpleUrlHandlerMapping] Mapped URL path [/my-assets/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
然后我尝试了一些变化:
.. ("/my-assets/**").addResourceLocations("/assets/");
.. ("/my-assets/js/base/lib/**").addResourceLocations("/assets/js/base/lib/");
.. ("/my-assets/js/base/lib/**").addResourceLocations("/assets/js/base/lib/**");
甚至尝试后来添加这些:
registry.setOrder(Ordered.LOWEST_PRECEDENCE);
registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
无济于事。在所有情况下,<context>/assets/js/base/lib/jquery-1.7.2.js
仍然有效且<context>/my-assets/js/base/lib/jquery-1.7.2.js
没有。
这是我的目录结构:
├── assets
│ ├── charts
│ ├── css
│ ├── font
│ ├── images
│ └── js
├── META-INF
└── WEB-INF
├── jsp
├── layout
└── tags
关于可能出现什么问题的任何想法?
谢谢!