我有一个使用gradle构建的Spring Boot Web应用程序,它完全基于JavaConfig,具有如下所示的结构。
从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运行应用程序时,它工作正常。
我很欣赏我能得到的任何指示。 谢谢。
答案 0 :(得分:1)
您会发现此链接非常有用。 Serving Static Web Content with Spring Boot
虽然这对你们这些人来说可能不是一个新的启示 自SpringOne发布以来Spring Boot之后,有一个 您可能不知道的细节。 Spring Boot会自动启动 添加位于以下任何内容中的静态Web资源 目录:
/META-INF/resources/ /resources/ /static/ /public/