SpringBoot livereload对OS X的静态源没有影响

时间:2018-08-10 09:02:11

标签: java spring spring-boot intellij-idea livereload

我在我的Os X High Sierra上使用带有嵌入式Tomcat服务器和Intellij Idea 2018.2的Spring Boot 2.0.4.RELEASE。

如教程所述

https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html

我在依存关系中添加了pom.xml

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

然后我看到

  

[restartedMain] o.s.b.d.a.OptionalLiveReloadServer:   LiveReload服务器在端口35729上运行

服务器启动的地方。

但是无论如何,静态源中的更改都无效,我必须按Cmd + F9才能在浏览器中看到它。

我尝试了IntelliJ 15, SpringBoot devtools livereload not working

中的所有技巧

就像打开“以编程方式构建项目”或“ compiler.automake.allow.when.app.running”一样,但没有任何帮助。

我的静态资源(angularjs模板和文件)位于

  

src> main>资源>静态>模板

可能是静态位置错误?

任何想法表示赞赏!

2 个答案:

答案 0 :(得分:0)

将静态文件与src放置在同一级别,作为“资源”文件夹。

答案 1 :(得分:0)

我认为这是一个误会。

除其他事项外,spring开发工具为您提供Automatic Restart(当类路径发生变化时,它将完全重新启动服务器,不包括静态资源)和Live Reload(重新加载)静态资源发生变化时浏览器)。

话虽如此,“实时刷新”功能有两个需要牢记的细节:

  1. 您还需要安装和使用浏览器扩展程序,例如:https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei
  2. 您一次只能有一台服务器进行实时重载(否则,将仅使用第一台服务器。)

使用此配置,静态文件中的更改应触发浏览器重新加载。如果文件中的更改不够,请尝试在不停止的情况下构建项目。

  

在Eclipse中,保存修改后的文件将导致类路径被更新并触发重新启动。在IntelliJ IDEA中,构建项目(Build-> Build Project)具有相同的效果。