如何避免Grails在每次更改时自动重建我的项目?

时间:2010-11-30 18:41:54

标签: tomcat grails groovy build rebuild

我有一个旧的Grails 1.1.1项目,我必须使用STS Pro升级到1.3.5版本。

正如预期的那样,一些碎片漂浮在周围可能会导致问题,但我不确定是否会导致问题。

这就是问题:每次我保存一个类(Java或Groovy)时,它会自动重建整个项目并创建一个war文件。

这是正常行为吗?实际上,我并不介意它,只是因为构建在后台运行。问题是构建有时会暂时锁定一些资源,而且我有一个恼人的弹出窗口,说它无法部署,因为断言失败了。

顺便说一下,它没有说出断言是什么,所以我每次都要点击“确定”。

这变成了一种真正的痛苦。

非常感谢帮助!

谢谢,

路易斯

4 个答案:

答案 0 :(得分:1)

根据reference documentation,您可以这样做:

grails -Ddisable.auto.recompile=true run-app

但是,每次进行更改时都必须重新启动应用程序。

答案 1 :(得分:1)

看起来您正在使用新功能(2.5.1新增功能)将您的grails应用程序部署到tc服务器,而不是调用grails run-app。

这是我们刚刚添加的一项新功能,因此它在边缘仍然很粗糙,并且可能在不完全必要时重建war文件。我建议您为此提出一个jira问题: https://issuetracker.springsource.com/browse/STS

答案 2 :(得分:0)

安德鲁可能是对的。我从头开始创建了一个新的Grails项目,并使用命令grails dev run-app(可以从STS运行)执行该项目。

我没有遇到任何问题,并且表现得如预期:我能够将更改热部署到我的代码中,而无需重新生成和部署WAR文件。不幸的是,STS中的控制台在完成编译并且web-app准备就绪时没有显示,所以在刷新浏览器之前我必须稍等一下。

答案 3 :(得分:0)

我在调用grails run-app时遇到同样的问题。 STS每次都会触发WAR构建,所以虽然我可以在浏览器中立即访问我的更改,但STS开始咀嚼CPU周期和周期。在重建时暂停。 我不禁经常保存。我从小就玩太空任务,所以很长一段时间都是习惯。