【问题标题】:How to avoid Grails automatically rebuilding my project on every change?如何避免 Grails 在每次更改时自动重建我的项目?
【发布时间】:2010-11-30 18:41:53
【问题描述】:

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

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

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

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

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

这真的很痛苦。

我们将不胜感激!

谢谢,

路易斯

【问题讨论】:

    标签: tomcat grails groovy build rebuild


    【解决方案1】:

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

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

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

    【讨论】:

    • 重新阅读您的问题后,这可能不是理想的解决方案,因为在您的情况下,它不仅仅是重新编译,而是在制造一场战争。但我很好奇它是否有效。
    • 罗布。请看下面我的回答。最后,它对我有用。谢谢!
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      我没有遇到任何问题,它的表现也符合预期:我能够对我的代码进行热部署更改,而无需重新生成和部署 WAR 文件。不幸的是,STS 中的控制台在编译完成和网络应用准备就绪时没有显示,所以我必须稍等片刻才能刷新我的浏览器。

      【讨论】:

        【解决方案4】:

        我在调用 grails run-app 时遇到了同样的问题。 STS 每次都会触发 WAR 构建,因此虽然我可以在浏览器中立即访问我的更改,但 STS 开始咀嚼 CPU 周期并在重建时暂停。 我忍不住经常存钱。我是玩太空探索长大的,所以这已经是很长时间的习惯了。

        【讨论】:

        • 我和你在一起。请看我上面的回答。确保拥有最新版本,并按照上述说明进行操作。它对我有用,我希望它对你有用。路易斯
        猜你喜欢
        • 1970-01-01
        • 2017-06-30
        • 2014-12-04
        • 1970-01-01
        • 2017-07-07
        • 1970-01-01
        • 1970-01-01
        • 2020-10-22
        • 2019-08-11
        相关资源
        最近更新 更多