Grails2.4.0.RC1似乎在Windows7-64位上锁定了javascript文件

Grails2.4.0.RC1似乎在Windows7-64位上锁定了javascript文件,grails,Grails,我使用的是Grails2.4.0.RC1和JDK1.7.0_55,每当我浏览到使用web app文件夹中javascript文件的任何应用程序视图时,java进程似乎都会锁定这些文件。 所以我不能再处理这些javascript文件了,因为当我试图保存更改时,Windows7不允许我这样做 我使用Process Explorer检查哪个进程正在锁定文件,实际上是运行grails应用程序的java进程 起初我认为这个问题可能与我正在使用的新资产管道1.8.7插件有关。所以我卸载了它以检查问题是否仍然

我使用的是Grails2.4.0.RC1和JDK1.7.0_55,每当我浏览到使用web app文件夹中javascript文件的任何应用程序视图时,java进程似乎都会锁定这些文件。 所以我不能再处理这些javascript文件了,因为当我试图保存更改时,Windows7不允许我这样做

我使用Process Explorer检查哪个进程正在锁定文件,实际上是运行grails应用程序的java进程

起初我认为这个问题可能与我正在使用的新资产管道1.8.7插件有关。所以我卸载了它以检查问题是否仍然存在。。。的确如此

同样的应用程序在Grails2.3.5上运行得很好,尽管我们也使用了一个旧的JDK。。。我必须检查JDK1.7.055

顺便说一句,一个更老版本的Grails也发生了类似的事情:

有人遇到过同样的问题吗

更新1:

我在不同版本的java上运行应用程序时测试了这个问题,结果如下:

Win7-64bits, grails2.4.0.RC1, jdk1.7.0_55 -> PROBLEM OCCURS
Win7-64bits, grails2.4.0.RC1, jdk1.7.0_25 -> PROBLEM OCCURS
Win7-64bits, grails2.4.0.RC1, jdk1.6.0_18 -> OK
更新2:

我创建了一个默认使用Tomcat的空白应用程序,一切正常。 使用jetty插件和Jetty8的同一个空白应用程序确实存在问题。 我现在正在进一步调查此事。

我发现了问题。 这确实与jetty插件有关

在使用Jetty7的插件2.0.3的官方版本上,不存在锁定问题。但是这个插件使用了Jetty的一个非常旧的版本,所以没有任何用处

在为运行Jetty8而创建的插件的分支上: ... 问题就在那里

另外,在使用jetty 9.0.x的新grails jetty插件版本3.0.x上,问题也存在

更新1:

看看: 显然,Jetty的useFileMappedBuffer init参数必须设置为false以防止文件锁定。 您可以使用jetty插件的本地版本,并在[jetty plugin]/grails app/conf/webdefault.xml上修改上述属性