2015-01-21 2 views
2

У меня есть проект Spring Boot. Структура проекта такова:Статические ресурсы + web-inf + Весенняя загрузка

src 
|- main 
    |-java 
     |-demo 
    |-resources 
     |-static 
      |-css/mycss.css 

Когда я запустить Maven построить на этом, мой CSS получает упакованы так:

web-inf 
    |-classes 
     |-demo 
     |-static 
      |-css/mycss.css 

Моя проблема в том, почему его есть пакеты статических ресурсов внутри «web- INF/классы»папку, я не могу получить доступ к своему CSS через localhost:8080/css/mycss.css or localhost:8080/static/css/mycss.css

мой pom.xml является:

<dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
      <exclusions> 
       <exclusion> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-tomcat</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
+0

'/ static/css/mycss.css' должен работать, если вы не возитесь со стандартной конфигурацией Spring Boot. –

ответ

3

src/main/resources - это папка ресурсов по умолчанию в maven, поэтому по умолчанию все, что вы помещаете здесь, будет в classpath, поэтому оно будет помещено в WEB-INF/classes.

+0

Добавление файла в файл src/main/webapp/static/some-xml добавлено в файл root-of-webapp/static/some-xml-file. Добавление файла в файл src/main/webapp/web-INF/some-xml-файл сделал трюк и создал правильную структуру папок и создал структуру root-of-webapp/WEB-INF/some-xml-файл. root-of-webapp/WEB-INF/other-structure-created-bydeault-by-spring -boot – Mayurb

+0

Я проверил конфигурацию по умолчанию для Spring boot и в соответствии с этим файл ресурсов/static/css/mycss.css должен быть доступен по адресу localhost: 8080/css/mycss.css url. Итак, я отредактировал свой ответ. –

+0

Если я добавлю ресурсы/static/css/mycss.css, структуру в свой проект, то, как вы думаете, будет структурой папок, сгенерированной в целевом объекте. В моей среде, его получение упаковано внутри web-inf/classes/css/mycss.css, и я не думаю, что что-либо внутри классов папка web-inf будет доступной, как статический ресурс – Mayurb

0

Я следую стандартным

@SpringBootApplication 
public class ConfigInitializer extends SpringBootServletInitializer{ 
    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application){ 
     return application.sources(ConfigInitializer.class); 
    } 
    @Override 
    public void onStartup(ServletContext container) throws ServletException { 
     WebApplicationContext context = getContext(); 
     Dynamic registration = container.addServlet("dispatcher", new DispatcherServlet(context)); 
     registration.setLoadOnStartup(1); 
     registration.addMapping("/*"); // required JBOSS EAP 6.2.0 GA 
     super.onStartup(container); 
    } 
    private WebApplicationContext getContext() { 
     AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); 
     context.setConfigLocation(ConfigInitializer.class.getName()); 
     return context; 
    } 
} 

, что, возможно, я мог бы делать неправильно?

Смежные вопросы