我必须通过JAR项目提供静态.js文件。 为此,我创建了一个JAR(使用MAVEN),如下所示:
parent
|--com
|--META-INF
|--webapp
|--resources
|--js
|--myjs.js
现在,我将此JAR添加到了父级spring-boot项目中,并添加了JSP
个
<script src="resources/js/myjs.js"></script>
这给我一个404错误。
我的结论:引导项目没有将JAR中的webapp
文件夹合并到其自己的webapp
中,或者我访问的文件不正确。
这些问题无济于事(无法更改WebMvcConfigurerAdapter
并且严格不允许使用Java代码):
SpringBoot - accessing a file inside resources folder
Serve static resources within jar files by Spring boot
通常,这些事情是使用overlays处理的,但是对于一个简单的用例来说,这是多余的。
答案 0 :(得分:0)
您的webapp文件夹是安全文件夹。您无法直接访问其中的文件。 您需要允许所有传入的js和其他静态文件请求,如下所示:-
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/js/**", "/css/**").permitAll();
http.csrf().disable();
}
}