gpt4 book ai didi

java - Spring Boot App 打包成 jar 后不提供静态资源

转载 作者:行者123 更新时间:2023-11-29 06:53:43 37 4
gpt4 key购买 nike

我有一个应用程序在通过 ide 或命令行启动时运行良好:mvn spring-boot:run。但是当我把它打包成jar时,我无法访问静态资源(404 not found)。我不想将静态文件存储在 resource fouler 中,所以我不必每次需要更改静态文件时都重新加载服务器。所以我在我的 pom.xml 中使用了这个插件:

              <plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes/static</outputDirectory>
<resources>
<resource>
<directory>src/main/webapp</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>

我可以看到文件被复制到“静态”目录中的两个目录中。这是我的资源处理程序配置:

    @Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter {

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

Controller RequestMappings 工作正常,问题仅出在静态资源上。

最佳答案

您应该提供多个资源位置来解析:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("/", "classpath:/static/");
}

关于java - Spring Boot App 打包成 jar 后不提供静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39232464/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com