使用静态内容部署Spring启动应用程序的正确方法是什么

时间:2014-03-14 11:22:30

标签: java css spring spring-boot

我有一个使用gradle构建的Spring Boot Web应用程序,它完全基于JavaConfig,具有如下所示的结构。

File Structure

从Web上的文档和信息中,我可以简单地构建一个jar文件,将其放在任何服务器中,运行jar文件,然后我的应用程序启动并运行。 但是,当我直接运行jar文件时,应用程序无法找到我的css,js或我的任何图像文件。正如您所看到的,当我遇到Thymeleaf查找模板的问题时,我确实复制了模板文件夹。 这是我的WebConfig类......

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");

}


@Bean
MultipartConfigElement multipartConfigElement() {
    MultiPartConfigFactory factory = new MultiPartConfigFactory();
    factory.setMaxFileSize("1024KB");
    factory.setMaxRequestSize("1024KB");
    return factory.createMultipartConfig();
}

}

我需要做什么才能访问正在运行的.jar文件中的.css和.js文件。我需要做任何额外的配置才能使这些文件在生产中可用吗? 当我从src文件夹位置通过gradle运行应用程序时,它工作正常。

我很欣赏我能得到的任何指示。 谢谢。

1 个答案:

答案 0 :(得分:1)

您会发现此链接非常有用。 Serving Static Web Content with Spring Boot

  

虽然这对你们这些人来说可能不是一个新的启示   自SpringOne发布以来Spring Boot之后,有一个   您可能不知道的细节。 Spring Boot会自动启动   添加位于以下任何内容中的静态Web资源   目录:

/META-INF/resources/
/resources/
/static/
/public/