相关疑难解决方法(0)

在打包到jar后,Spring启动应用程序不提供静态资源

我有一个应用程序,通过ide或命令行启动时工作得很好:mvn spring-boot:run.但是当我将它打包到jar中时,我无法访问静态资源(未找到404).我不想在资源控制器中存储静态文件,所以每次我需要更改静态文件时都不必重新加载服务器.所以我在我的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>
Run Code Online (Sandbox Code Playgroud)

我可以看到文件正在两个目录"static"中复制.这是我的资源处理程序配置:

    @Configuration
    @EnableWebMvc
    public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**").addResourceLocations("/");
    }
Run Code Online (Sandbox Code Playgroud)

控制器RequestMappings工作正常,问题只与静态资源有关.

java spring spring-mvc maven spring-boot

1
推荐指数
1
解决办法
2251
查看次数

标签 统计

java ×1

maven ×1

spring ×1

spring-boot ×1

spring-mvc ×1