基于Java的Grails2.4.2>;1.8.031不适用于Tomcat,但适用于Glassfish

基于Java的Grails2.4.2>;1.8.031不适用于Tomcat,但适用于Glassfish,tomcat,grails,glassfish,java-8,grails-2.4,Tomcat,Grails,Glassfish,Java 8,Grails 2.4,本地环境: GrailsV2.4.2 Java v1.8.0_66 Tomcat v7.0.53 视窗10 服务器环境: GrailsV2.4.2 Java v1.8.0_66 Glassfish v4.1.1 Ubuntu v14.4.01 问题描述: 我最近将grails应用程序从非常旧的Debian Linux服务器迁移到Docker容器。这一切都完美无瑕。我用Java1.8.066构建了这个应用程序,并将它部署到一个Glassfish容器中,还将它与一个MySQL容器链接。我使用

本地环境:

  • GrailsV2.4.2
  • Java v1.8.0_66
  • Tomcat v7.0.53
  • 视窗10
服务器环境:

  • GrailsV2.4.2
  • Java v1.8.0_66
  • Glassfish v4.1.1
  • Ubuntu v14.4.01
问题描述:

我最近将grails应用程序从非常旧的Debian Linux服务器迁移到Docker容器。这一切都完美无瑕。我用Java1.8.066构建了这个应用程序,并将它部署到一个Glassfish容器中,还将它与一个MySQL容器链接。我使用的Docker图像是Docker hub的
glassfish/server
。此图像使用Glassfish 4.1.1和Java 1.8.066

但在本地,我无法使用
运行应用程序
测试应用程序
。这是stacktrace:

Mär 04, 2016 2:04:41 PM org.springsource.loaded.jvm.JVM copyMethod
SCHWERWIEGEND: Problems copying method. Incompatible JVM?
java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.springsource.loaded.jvm.JVM.copyMethod(JVM.java:134)
    at org.springsource.loaded.ri.JavaMethodInvoker.createJavaMethod(JavaMethodInvoker.java:48)
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlClassGetMethods(ReflectiveInterceptor.java:168)
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at java.beans.Introspector.__sljlcgms(Introspector.java)
    at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1336)
    at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1197)
    at java.beans.Introspector.getBeanInfo(Introspector.java:426)
    at java.beans.Introspector.getBeanInfo(Introspector.java:173)
    at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3065)
    at java.security.AccessController.doPrivileged(Native Method)
    at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3063)
    at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3046)
    at groovy.lang.ExpandoMetaClass.initialize(ExpandoMetaClass.java:483)
    at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:210)
    at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:241)
    at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:255)
    at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:859)
    at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
    at groovy.lang.Closure.<init>(Closure.java:219)
    at Config$_run_closure4.<init>(Config.groovy)
    at Config.run(Config.groovy:120)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1270)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
    at org.codehaus.groovy.reflection.CachedMethod$invoke.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
    at org.codehaus.groovy.reflection.CachedMethod$invoke.call(Unknown Source)
    at groovy.util.ConfigSlurper$_parse_closure5.doCall(ConfigSlurper.groovy:266)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1270)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
    at org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureMetaMethod.java:80)
    at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1108)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
    at groovy.util.ConfigSlurper.parse(ConfigSlurper.groovy:284)
    at groovy.util.ConfigSlurper$parse.callCurrent(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
    at groovy.util.ConfigSlurper$parse.callCurrent(Unknown Source)
    at groovy.util.ConfigSlurper.parse(ConfigSlurper.groovy:158)
    at groovy.util.ConfigSlurper$parse$0.callCurrent(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
    at groovy.util.ConfigSlurper.parse(ConfigSlurper.groovy:148)
    at org.codehaus.groovy.grails.project.packaging.GrailsProjectPackager.createConfig(GrailsProjectPackager.groovy:345)
    at org.codehaus.groovy.grails.project.packaging.GrailsProjectPackager.packageApplication(GrailsProjectPackager.groovy:274)
    at org.codehaus.groovy.grails.project.packaging.GrailsProjectPackager$packageApplication.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
    at org.codehaus.groovy.grails.cli.fork.testing.ForkedGrailsTestRunner.runInstance(ForkedGrailsTestRunner.groovy:127)
    at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProjectClassExecutor.run(ForkedGrailsProjectClassExecutor.groovy:74)
    at org.codehaus.groovy.grails.cli.fork.testing.ForkedGrailsTestRunner.main(ForkedGrailsTestRunner.groovy:75)
Caused by: java.lang.IllegalArgumentException: Can not copy a non-root Method
    at java.lang.reflect.Method.copy(Method.java:151)
    ... 69 more
Mär 042016 2:04:41 PM org.springsource.loaded.jvm.jvm copyMethod
SCHWERWIEGEND:复制方法的问题。不兼容的JVM?
java.lang.reflect.InvocationTargetException
位于sun.reflect.GeneratedMethodAccessor72.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:497)
位于org.springsource.loaded.jvm.jvm.copyMethod(jvm.java:134)
位于org.springsource.loaded.ri.JavaMethodInvoker.createJavaMethod(JavaMethodInvoker.java:48)
位于org.springsource.loaded.ri.ReflectiveInterceptor.jlClassGetMethods(ReflectiveInterceptor.java:168)
在sun.reflect.GeneratedMethodAccessor5.invoke处(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:497)
位于java.beans.Introspector.\uu sljlcgms(Introspector.java)
位于java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1336)
位于java.beans.Introspector.getTargetMethodInfo(Introspector.java:1197)
位于java.beans.Introspector.getBeanInfo(Introspector.java:426)
位于java.beans.Introspector.getBeanInfo(Introspector.java:173)
在groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3065)
位于java.security.AccessController.doPrivileged(本机方法)
位于groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3063)
在groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3046)上
在groovy.lang.ExpandoMetaClass.initialize(ExpandoMetaClass.java:483)处
位于org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:210)
位于org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:241)
位于org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:255)
位于org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:859)
位于groovy.lang.GroovyObjectSupport。(GroovyObjectSupport.java:32)
位于groovy.lang.Closure。(Closure.java:219)
在配置$\u run\u closure4.(Config.groovy)
在Config.run(Config.groovy:120)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:497)
位于org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1270)
位于org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
位于org.codehaus.groovy.reflection.CachedMethod$invoke.call(未知源)
位于org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
位于org.codehaus.groovy.reflection.CachedMethod$invoke.call(未知源)
在groovy.util.ConfigSlurper$\u parse\u closure5.doCall(ConfigSlurper.groovy:266)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:497)
位于org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1270)
位于org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
位于org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureMetaMethod.java:80)
位于groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1108)
位于groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
位于org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
位于org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
位于org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
位于org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
位于groovy.util.ConfigSlurper.parse(ConfigSlurper.groovy:284)
位于groovy.util.ConfigSlurper$parse.callCurrent(未知源)
位于org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
位于groovy.util.ConfigSlurper$parse.callCurrent(未知源)
在groovy.util.ConfigSlurper.parse(ConfigSlurper.groovy:158)处
在groovy.util.ConfigSlurper$parse$0.callCurrent处(未知源)
位于org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
位于org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
位于org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
位于groovy.util.ConfigSlurper.parse(ConfigSlurper.groovy:148)
位于org.codehaus.groovy.grails.project.packaging.GrailsProjectPackager.createConfig(GrailsProjectPackager.groovy:345)
位于org.codehaus.groovy.grails.project.packaging.GrailsProjectPackager.packageApplication(GrailsProjectPackager.gro