使用 Spring MVC 和 Boot 刷新静态内容

2022-08-31 17:29:10

我正在评估Spring MVC &Boot和AngularJs来构建Web应用程序。我遇到了一个问题,当我对静态内容(html,js,css)进行修改时,我每次都必须重新启动应用程序。我希望有一种方法可以解决这个问题,因为重新启动整个应用程序进行静态内容更改是无效的。我尝试过的所有其他Web应用程序框架都允许动态更新静态内容文件(甚至只是Spring MVC和普通的旧WAR应用程序)。

我从“使用 Spring Boot Actuator 构建 RESTful Web 服务”指南(http://spring.io/guides/gs/actuator-service/)中设置了我的项目。基本上,它使用Spring Boot和MVC控制器来创建REST服务。此外,我还使用“使用AngularJS使用RESTful Web服务”指南(http://spring.io/guides/gs/consuming-rest-angularjs/)来构建带有AngularJS的前端。它创建一个网页,用于显示来自 REST 服务的响应。我所做的唯一更改是向我的应用程序发出请求,而不是“http://rest-service.guides.spring.io/greeting”。我的静态内容存储在“src/main/resources/public”文件夹中。此设置可以正常工作,只是它不会重新加载静态内容。


答案 1

原始问题的回顾

我遇到了一个问题,当我对静态内容(html,js,css)进行修改时,每次都必须重新启动应用程序

我遇到了同样的问题,最后通过添加

<configuration>
    <addResources>true</addResources>
</configuration>

在我对这个弹簧靴开发工具的事情感到困惑,但无论我做什么,它都没有效果。spring-boot-maven-pluginpom.xml

我的静态内容存储在“src/main/resources/public”文件夹中。

你的道路很好。src/main/resources/static 也很好。


答案 2

啊。。。我也遇到了这个问题。

不要将静态内容放在类路径文件夹中,而是将它们放入 ,就像对待任何其他 Java Web 应用程序一样。嵌入的Tomcat会在它们发生变化时自动重新加载它们。src/main/resources/publicsrc/main/webapp

如注释中所述,默认配置将不包括 中的资源。要解决此问题,只需将以下内容添加到pom.xml节点:src\main\webapp<build>

<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>

通过使用资源插件,您可以通过运行可执行JAR进行本地开发:

java -jar target/.jar

在运行时,您可以使用Chrome Dev Tools或任何您喜欢的IDE来修改文件,而无需重新启动。但是,每当您运行构建时,生成的包都将包含 中的所有文件。src\main\webappsrc\main\resources\static


推荐