java - 使用静态内容部署 spring boot 应用程序的正确方法是什么

标签 java css spring spring-boot

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

File Structure

根据网络上的文档和信息,我可以简单地构建一个 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 运行应用程序时,它工作正常。

我很感激我能得到的任何指点。 谢谢。

最佳答案

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

While this may not be a new revelation to those of you that have been following Spring Boot since the SpringOne announcement, there is one detail for which you may not be aware. Spring Boot will automatically add static web resources located within any of the following directories:

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

关于java - 使用静态内容部署 spring boot 应用程序的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22403617/

相关文章:

java - 如何在android中填充线性布局?

java - 如何使用正则表达式删除字符串中不需要的空格和最后一个单词?

java - 调试可能存在内存泄漏的tomcat应用程序

html - Css - 子菜单未正确对齐

java - 如何以编程方式向 Spring Bean 添加安全性

java - 为什么 spring 只处理未经检查的异常

java - JButton 仅在可见性设置为 True-Java 时才起作用

css - CSS中的填充圆扇区

html - 如何隐藏最后|用 CSS?

java - 使用服务器端数据动态构建jquery数据表