自定义环境中运行应用程序中的 Grails 自动重新加载功能

Posted

技术标签:

【中文标题】自定义环境中运行应用程序中的 Grails 自动重新加载功能【英文标题】:Grails auto reload functionality in run-app on a custom environment 【发布时间】:2010-11-22 11:34:11 【问题描述】:

当通过 grails -Dgrails.env=custom run-app 使用 grails 运行自定义环境时,自动重新加载/热部署似乎已关闭,有谁知道如何为任何给定环境任意启用此功能,而不仅仅是开发,这似乎是默认情况下实际启用的唯一环境?

【问题讨论】:

这里有点晚了,但似乎对自定义运行环境禁用了 GSP 文件的自动重新编译,并且出于某种原因,Grails 也忽略了disable.auto.recompile 标志。通过将-Dgrails.gsp.enable.reload=true 传递给run-app 脚本,我能够重新编译GSP 文件。 【参考方案1】:

我通过将以下内容添加到我的环境(在这种情况下为自定义)Config.groovy 解决了这个问题:

    custom 

    disable.auto.recompile=false
    grails.gsp.enable.reload=true

您还可以在运行配置中添加 -reloading 标志:

grails -reloading -Dgrails.env=custom  run-app

确保它是第一个参数!

右键单击您的项目 -> 运行方式 -> 运行配置

Blog post about auto refresh in a Grails custom env

【讨论】:

仅适用于 GSP 文件吗?让所有类型的文件自动重新加载不限于 GSP 怎么样? 您看到哪些类型的文件没有重新加载@ishwor? 你说,确保它是第一个参数,但在屏幕截图中它是第二个参数。是不是打错字了? 是的,截图已经过时了,我需要更新一下【参考方案2】:

你想要的标志是“disable.auto.recompile”,例如:

grails -Dgrails.env=custom -Ddisable.auto.recompile=false run-app

【讨论】:

这似乎不稳定,例如控制器或它适用的服务中的原始代码更改,但是说应用程序视图或网络应用程序目录中的 js、css 或 html 更改,没有骰子? 那些不会为您自动加载?奇怪,即使没有 disable.auto.recompile,这对我来说也很好。你有缓存的东西吗?如果您使用 firefox 点击 cmd-shift-R(或 Windows 上的 ctl-shift-R)重新加载并绕过缓存。 不,对我来说似乎没有发生,但在开发模式下会发生......非常奇怪。【参考方案3】:

通过更改包含项目的文件夹的名称来解决问题...这次是一个包含空格的名称...因为空间相当大,一切都开始正常工作

【讨论】:

请花更多的精力写一个答案。从完整的句子和标点符号开始。 对不起,我想说的是,我通过更改包含我的项目的文件夹的名称来解决问题。以前该文件夹的名称包含空格,删除这些空格后一切正常.. 将我的文件夹示例到 myfolder

以上是关于自定义环境中运行应用程序中的 Grails 自动重新加载功能的主要内容,如果未能解决你的问题,请参考以下文章

Grails 插件中的自定义 CSS 和 JS

从 grails 应用程序中的自定义 groovy 文件加载 spring bean

grails spring security自定义用户注册页面

Grails 1.3.5 和 Spring Security Core

如何使用 JOSSO 和 Spring Security 从 Grails 应用程序中的 LDAP 获取自定义属性?

Grails 中的自定义验证器中的异常