Grails Groovy&;中的方法代码太大;圣杯?
解决办法是什么?只有4-5行代码隐藏并重新启动,然后成功完全运行,引导文件大小为149k。当我注释或删除4-5行代码时,它将无误运行 Java虚拟机的方法数不能大于64k(65536字节)。这将详细描述此限制。Grails Groovy&;中的方法代码太大;圣杯?,grails,groovy,jvm,Grails,Groovy,Jvm,解决办法是什么?只有4-5行代码隐藏并重新启动,然后成功完全运行,引导文件大小为149k。当我注释或删除4-5行代码时,它将无误运行 Java虚拟机的方法数不能大于64k(65536字节)。这将详细描述此限制。 克服此问题的最佳方法是简单地将大型方法拆分为小型方法,这通常是一种很好的做法。 还要注意,JVM JIT编译器不会编译大于8K的方法。但是,您可以使用该选项更改此行为。问题:刚进入Jenkins管道,出现以下异常错误:org.codehaus.groovy.control.multipl
克服此问题的最佳方法是简单地将大型方法拆分为小型方法,这通常是一种很好的做法。
还要注意,JVM JIT编译器不会编译大于8K的方法。但是,您可以使用该选项更改此行为。问题:刚进入Jenkins管道,出现以下异常错误:
org.codehaus.groovy.control.multiplecompiletonErrorsException:启动失败:
类生成过程中出现一般错误:方法代码太大!
java.lang.RuntimeException:方法代码太大!
解释:与单个方法的字节码限制64kB有关的根本原因。Java虚拟机对类有隐含的限制,必须遵循这些限制,并根据性能和语言限制加以限制,例如:帧中操作数堆栈的大小、字段和方法名的长度、类中可能声明的方法数等。。。您可以按照上的“检查表”进行操作。您得到了此场景中的方法大小限制
解决方案:为了解决这个问题,只需将类方法分为共享库或子内部/外部类(例如
Utils.Groovy
),然后将该库导入主类中即可。一般来说,代码应该是可读的、精简的和高级的。如果导出功能太长,请使用面向对象的体系结构,这样您也可以获得可读和可维护的代码。您能提供更多信息吗?Grails版本,导致问题的代码。。。
2014-06-17 11:22:18,622 [Thread-11] ERROR compiler.GrailsProjectWatcher - Compilation Error: startup failed:
General error during class generation: Method code too large!