Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改Grails';Groovy版本_Grails_Groovy - Fatal编程技术网

更改Grails';Groovy版本

更改Grails';Groovy版本,grails,groovy,Grails,Groovy,如何将Grails1.3.7使用的groovy版本更改为Groovy1.7.9 我在Grails 1.3.7应用程序中遇到了这个问题,在这个应用程序中,每分钟一个Quartz进程都会实例化大约500个新对象,如下所示: class Foo{ Bar bar Date d = new Date() int v } def f = new Foo(bar:b, v:value) 我所观察到的是,每次跑步都需要更长的时间。起初,这需要几纳秒,但当应用程序因PermGen内存不足错误崩溃时,这

如何将Grails1.3.7使用的groovy版本更改为Groovy1.7.9

我在Grails 1.3.7应用程序中遇到了这个问题,在这个应用程序中,每分钟一个Quartz进程都会实例化大约500个新对象,如下所示:

class Foo{
 Bar bar
 Date d = new Date()
 int v
}

def f = new Foo(bar:b, v:value)
我所观察到的是,每次跑步都需要更长的时间。起初,这需要几纳秒,但当应用程序因PermGen内存不足错误崩溃时,这个过程有时需要10秒以上。。。实例化一个对象

我做了一些堆转储,发现CallSiteClassLoader从以前安装的对象中占用了大量内存。读了这篇文章后,我决定在我的战争中直接更改groovy jar。现在,应用程序运行正常,而且在几次堆转储之后,似乎没有内存泄漏

但我生成的每一场战争都会伴随groovy 1.7.7而来,我必须手动更改它


谢谢

您可以取消注释
mavenCentral()
(在存储库下)并添加依赖项

compile 'org.codehaus.groovy:groovy-all:1.7.9'
在BuildConfig.groovy中(在dependencies下)

不知道这是否是推荐的。至少该构建会像您现在手动操作一样,使用groovy 1.7.9打包您的应用程序。
grailsrun-app
我想仍将使用1.7.7,但这可能不是问题,因为您可能会在开发过程中遇到permgen问题之前重新启动


我选择继续使用Grails1.3.6,直到Groovy1.7.9或更高版本的Grails发布。

取消注释
mavenCentral()
也会删除其他依赖项吗?