我正在开发一个reactjs项目,我只是做了一个纱线生成并将内容移入了Java项目。Java Spring Boot - 用于访问静态文件夹的路由
我的项目\完整的\ src \主\资源\静态
但是当我查看从Java网站上的项目 - 本地主机:8080 - 我得到一吨的404错误
logo.a67f8998.png:1 GET http://localhost:8080/static/media/logo.a67f8998.png
registerServiceWorker.js:77 GET http://localhost:8080/service-worker.js 404
-beefeater.78e4414b.jpg:1 GET http://localhost:8080/static/media/-beefeater.78e4414b.jpg 404()
的
对于这个项目我主要是作为一个前端开发人员 - 我在哪里进行必要的更改以使这些文件的路由正确?
我的Application.java文件看起来像这样 - 当我取消注释代码时,我被告知删除@overide?
//import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
/**
* Hello world!
*
*/
@SpringBootApplication
public class Application implements CommandLineRunner {
//@Autowired
//private AccountRepository accountRepository;
/**
* @param args
*/
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public void run(String... arg0) throws Exception {
}
/*
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/");
}*/
}
我试着添加一个配置文件来排序这个..我需要导入它在application.java?
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
//@Configuration
@EnableWebMvc
@WebAppConfiguration
public class Configuration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/");
}
}
由于您使用的是'@ SpringBootApplication'没有必要配置资源处理程序,因为春天开机时会为你做的。只要确保static conent位于src/main/resources/static下,例如'src/main/resources/static/myscript.js',那么如果你需要使用'localhost:8080/myscript.js'并确保删除'@ EnableWebMvc'。 –
我不明白 - 它位于这里“\ src \ main \ resources \ static” - 但我得到404的 - 你说我不需要配置它 - 但为什么我得到404的 - “http: //localhost:8080/service-worker.js 404“ –
'@ EnableWebMvc'将禁用静态Web内容的弹簧引导自动配置,如果您使用'@ EnableWebMvc',那么您将被迫配置资源处理程序。 –