2017-09-08 59 views
0

我正在开发一个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/"); 
    } 

} 
+0

由于您使用的是'@ SpringBootApplication'没有必要配置资源处理程序,因为春天开机时会为你做的。只要确保static conent位于src/main/resources/static下,例如'src/main/resources/static/myscript.js',那么如果你需要使用'localhost:8080/myscript.js'并确保删除'@ EnableWebMvc'。 –

+0

我不明白 - 它位于这里“\ src \ main \ resources \ static” - 但我得到404的 - 你说我不需要配置它 - 但为什么我得到404的 - “http: //localhost:8080/service-worker.js 404“ –

+0

'@ EnableWebMvc'将禁用静态Web内容的弹簧引导自动配置,如果您使用'@ EnableWebMvc',那么您将被迫配置资源处理程序。 –

回答

0

你错过@WebMvcAutoConfiguration注释我认为

+0

我试过 - 没有什么区别 - 让我上传这个configFile我已经做了 –

+0

- 我是否以某种方式导入这个配置类? - –

相关问题