gpt4 book ai didi

grails - 如何防止Grails自动重新加载某些文件?

转载 作者:行者123 更新时间:2023-12-02 14:09:09 29 4
gpt4 key购买 nike

使用Emacs编辑Grails源文件时,Emacs会在源文件旁边临时创建hidden write-lock files。例如,如果编辑com/example/MyController,可能会看到:

rob@machine:~/app$ ls -la grails-app/controllers/com/example/
total 28
drwxrwxr-x 3 rob rob 4096 2011-12-03 13:38 ..
-rw-rw-r-- 1 rob rob 3883 2012-01-03 13:57 MyController.groovy
lrwxrwxrwx 1 rob rob 26 2012-01-04 09:32 .#MyController.groovy -> rob@machine.2136:1324674574

run-app期间创建此文件时,Grails会注意到该文件并尝试对其进行编译,通常会在 run-app控制台日志中产生编译错误:
| Error 2012-01-04 09:32:51,207 [Thread-38] ERROR plugins.AbstractGrailsPluginManager  - Plugin [controllers:2.0.0] could not reload changes to file [/home/rob/app/grails-app/controllers/com/example/.#MyController.groovy]: Dynamic method is<Artefact>Class(artefactClass) requires a single Class parameter
Message: Dynamic method is<Artefact>Class(artefactClass) requires a single Class parameter
Line | Method
->> 629 | doCall in SpringSecurityCoreGrailsPlugin$_closure5

可能只有在使用spring-security-core插件时才会发生这种情况,但在未安装该插件的情况下,我尚未对其进行测试。

我相信这只会在Grails 2.0中发生;我从未在1.3.7或更早版本中观察到它。

run-app期间自动重新编译时,有什么办法让Grails忽略这些文件?控制什么文件可以重装和不重装的一般答案是理想的。

我也接受“不,这不可能”的权威性回答。我知道通过配置可能无法做到这一点,在这种情况下,我可能会打开JIRA增强功能。

最佳答案

我没有尝试过该补丁,但Graeme最近似乎解决了该问题:

https://github.com/grails/grails-core/commit/c201492dfa47419356fbfea2031d22755ea61fe9

第224行排除了以点开头的文件(即emacs写锁)

另请参阅:http://jira.grails.org/browse/GRAILS-8539,它指示可能在2.0.1中显示

关于grails - 如何防止Grails自动重新加载某些文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8729734/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com