pal*_*lto 43 java spring-mvc spring-boot
我正在评估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"文件夹中.此设置正常工作,但它不会重新加载静态内容.
eig*_*gil 33
回顾原始问题
我遇到的问题是,当我修改我的静态内容(html,js,css)时,我每次都要重启应用程序
我有同样的问题,最后通过添加解决了它
<configuration>
<addResources>true</addResources>
</configuration>
Run Code Online (Sandbox Code Playgroud)
要spring-boot-maven-plugin
在pom.xml
我被这个弹簧引导devtools事情混淆,但它没有任何效果什么我做到了.
我的静态内容存储在"src/main/resources/public"文件夹中.
你的道路很好.src/main/resources/static也没关系.
Ste*_*eve 26
啊......我也遇到过这个问题.
不要将静态内容放在classpath src/main/resources/public
文件夹中,而是将其放入其中src/main/webapp
,与其他任何Java Web应用程序相同.嵌入式Tomcat会在更改时自动重新加载.
如评论中所述,默认配置将不包括所在的资源src\main\webapp
.要解决此问题,您只需将以下内容添加到pom.xml <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>
Run Code Online (Sandbox Code Playgroud)
通过使用资源插件,您可以通过运行可执行JAR来进行本地开发:
java -jar target/.jar
在运行时,您可以使用Chrome开发工具或您喜欢的任何IDE来修改文件,而无需重新启动.但是,只要你运行你的身材,那么所产生的方案将包括在所有的文件src\main\webapp
在src\main\resources\static
.
Dav*_*yer 13
文档说"所有现代IDE都允许重新加载静态资源,通常还有Java类更改的热交换"(https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/howto. html#howto-hotswapping).这是真的.Eclipse默认情况下或多或少都会这样做,而且我不是IntelliJ用户,但据我所知,您可以将其配置为自动构建.
我和一位同事也遇到过这个问题.我们在IntelliJ文档中找到了答案......
在主菜单上,选择"运行"| 重新加载更改的类