使用Spring启动对Intellij中的资产进行Livereload

在没有Spring启动技术的情况下使用Spring时,我可以使用Tomcat Maven插件启动应用程序并更新我的html,css和js,而无需重新启动服务器以使更改在浏览器中生效。

现在,当使用Spring启动时,每次我在静态资产中更改某些内容时,我都必须在IntelliJ中执行Make任务,否则我只会看到浏览器中的更改。 我的Spring Boot应用程序也使用devtools依赖项,我在浏览时将浏览器连接到实时重新加载套接字。

此配置仍未显示我在静态文件中所做的更改。 为了让这个工作,我需要做什么?

根据我的经验,如果你在没有war插件的情况下构建jar那么webapp目录中的静态资源是不可用的。 所以我会避免使用这个目录。 使用Spring Boot,最好为静态资产使用resources/static文件夹。 但是你希望在执行Gradle的bootRun目标或Maven的spring-boot:run重新加载它们。

要实现此目的,请使用Gradle的以下设置:

 bootRun { addResources = true } 

对于Maven:

  org.springframework.boot spring-boot-maven-plugin  true true   

似乎问题在于放置我的静态资产。 我不得不将它们放入main包下的webapp文件夹中。 我之前正在关注Spring.io的指南,建议将静态资产放入resources包中。

现在我停止使用resources包,一切正常,因为我想要它。

如果您遵循当前的Spring Boot 1.3.0.RELEASE文档 ,它看起来确切地描述了如何解决您遇到的问题。 它描述了同时使用IntelliJ和Maven。

所以也许检查一下,看看你是否首先遵循记录的路径?

您应该确保在使用文档(在我链接的文档页面中列出)之前使用正确的Maven依赖关系。