2017-02-21 70 views
0

我想用tomcat8運行Grails 3.0.11。Grails - 方法java.io.File的模糊重載方法#<init>

JDK版本爲1.8.0_77,環境變量 - 「JAVA_HOME」和「PATH」設置正確。

當我啓動tomcat的,我得到這個:

2017-02-21 10:51:08,013 [localhost-startStop-1] ERROR grails.boot.GrailsApp - Application startup failed 
groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.io.File#<init>. 
Cannot resolve which method to invoke for [null, class java.lang.String] due to overlapping prototypes between: 
     [class java.lang.String, class java.lang.String] 
     [class java.io.File, class java.lang.String] 
     at groovy.lang.MetaClassImpl.chooseMostSpecificParams(MetaClassImpl.java:3241) ~[groovy-2.4.5.jar:2.4.5] 
     at groovy.lang.MetaClassImpl.chooseMethodInternal(MetaClassImpl.java:3194) ~[groovy-2.4.5.jar:2.4.5] 
     at groovy.lang.MetaClassImpl.chooseMethod(MetaClassImpl.java:3137) ~[groovy-2.4.5.jar:2.4.5] 
     at groovy.lang.MetaClassImpl.createConstructorSite(MetaClassImpl.java:3431) ~[groovy-2.4.5.jar:2.4.5] 
     at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallConstructorSite(CallSiteArray.java:91) ~[groovy-2.4.5.jar:2.4.5] 
     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60) ~[groovy-2.4.5.jar:2.4.5] 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235) ~[groovy-2.4.5.jar:2.4.5] 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:255) ~[groovy-2.4.5.jar:2.4.5] 
     at asset.pipeline.AssetPipelineGrailsPlugin$_doWithSpring_closure2.doCall(AssetPipelineGrailsPlugin.groovy:101) ~[asset-pipeline-grails-2.8.2.jar:na] 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_77] 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_77] 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_77] 
     at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_77] 
     at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) ~[groovy-2.4.5.jar:2.4.5] 
     at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) ~[groovy-2.4.5.jar:2.4.5] 
     at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) ~[groovy-2.4.5.jar:2.4.5] 
     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) ~[groovy-2.4.5.jar:2.4.5] 
     at groovy.lang.Closure.call(Closure.java:426) ~[groovy-2.4.5.jar:2.4.5] 
     at groovy.lang.Closure.call(Closure.java:420) ~[groovy-2.4.5.jar:2.4.5] 
     at grails.spring.BeanBuilder.invokeBeanDefiningClosure(BeanBuilder.java:758) ~[grails-spring-3.0.11.jar:3.0.11] 
     at grails.spring.BeanBuilder.beans(BeanBuilder.java:588) ~[grails-spring-3.0.11.jar:3.0.11] 
     at grails.spring.BeanBuilder.invokeMethod(BeanBuilder.java:531) ~[grails-spring-3.0.11.jar:3.0.11] 
     at org.grails.plugins.DefaultGrailsPlugin.doWithRuntimeConfiguration(DefaultGrailsPlugin.java:559) ~[grails-core-3.0.11.jar:3.0.11] 
     at org.grails.plugins.AbstractGrailsPluginManager.doRuntimeConfiguration(AbstractGrailsPluginManager.java:172) ~[grails-core-3.0.11.jar:3.0.11] 
     at grails.boot.config.GrailsApplicationPostProcessor.postProcessBeanDefinitionRegistry(GrailsApplicationPostProcessor.groovy:157) ~[grails-core-3.0.11.jar:3.0.11] 
     at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:119) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE] 
     at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:607) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE] 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:462) ~[spring-context-4.1.8.RELEASE.jar:4.1.8.RELEASE] 
     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:117) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE] 
     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:689) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE] 
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) ~[spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE] 
     at grails.boot.GrailsApp.run(GrailsApp.groovy:51) [grails-core-3.0.11.jar:3.0.11] 
     at org.springframework.boot.context.web.SpringBootServletInitializer.run(SpringBootServletInitializer.java:134) [spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE] 
     at org.grails.boot.context.web.GrailsAppServletInitializer.createRootApplicationContext(GrailsAppServletInitializer.groovy:57) [grails-web-boot-3.0.11.jar:3.0.11] 
     at org.springframework.boot.context.web.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:81) [spring-boot-1.2.7.RELEASE.jar:1.2.7.RELEASE] 
     at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:175) [spring-web-4.1.8.RELEASE.jar:4.1.8.RELEASE] 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5240) [catalina.jar:8.0.33] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) [catalina.jar:8.0.33] 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) [catalina.jar:8.0.33] 
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) [catalina.jar:8.0.33] 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) [catalina.jar:8.0.33] 
     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092) [catalina.jar:8.0.33] 
     at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834) [catalina.jar:8.0.33] 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_77] 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_77] 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_77] 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_77] 
     at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77] 
21-Feb-2017 10:51:08.019 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/cdkey]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) 
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) 
     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092) 
     at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.io.File#<init>. 
Cannot resolve which method to invoke for [null, class java.lang.String] due to overlapping prototypes between: 
     [class java.lang.String, class java.lang.String] 
     [class java.io.File, class java.lang.String] 
     at groovy.lang.MetaClassImpl.chooseMostSpecificParams(MetaClassImpl.java:3241) 
     at groovy.lang.MetaClassImpl.chooseMethodInternal(MetaClassImpl.java:3194) 
     at groovy.lang.MetaClassImpl.chooseMethod(MetaClassImpl.java:3137) 
     at groovy.lang.MetaClassImpl.createConstructorSite(MetaClassImpl.java:3431) 
     at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallConstructorSite(CallSiteArray.java:91) 
     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60) 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235) 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:255) 
     at asset.pipeline.AssetPipelineGrailsPlugin$_doWithSpring_closure2.doCall(AssetPipelineGrailsPlugin.groovy:101) 
     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:498) 
     at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) 
     at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) 
     at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) 
     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) 
     at groovy.lang.Closure.call(Closure.java:426) 
     at groovy.lang.Closure.call(Closure.java:420) 
     at grails.spring.BeanBuilder.invokeBeanDefiningClosure(BeanBuilder.java:758) 
     at grails.spring.BeanBuilder.beans(BeanBuilder.java:588) 
     at grails.spring.BeanBuilder.invokeMethod(BeanBuilder.java:531) 
     at org.grails.plugins.DefaultGrailsPlugin.doWithRuntimeConfiguration(DefaultGrailsPlugin.java:559) 
     at org.grails.plugins.AbstractGrailsPluginManager.doRuntimeConfiguration(AbstractGrailsPluginManager.java:172) 
     at grails.boot.config.GrailsApplicationPostProcessor.postProcessBeanDefinitionRegistry(GrailsApplicationPostProcessor.groovy:157) 
     at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:119) 
     at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:607) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:462) 
     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:117) 
     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:689) 
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) 
     at grails.boot.GrailsApp.run(GrailsApp.groovy:51) 
     at org.springframework.boot.context.web.SpringBootServletInitializer.run(SpringBootServletInitializer.java:134) 
     at org.grails.boot.context.web.GrailsAppServletInitializer.createRootApplicationContext(GrailsAppServletInitializer.groovy:57) 
     at org.springframework.boot.context.web.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:81) 
     at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:175) 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5240) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 
     ... 10 more 

21-Feb-2017 10:51:08.021 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Error deploying web application directory /data/tomcat8080/webapps/cdkey 
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/cdkey]] 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729) 
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) 
     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092) 
     at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 

任何幫助表示讚賞。謝謝!

+0

你有與2製作的java.io.File對象豆參數的第一個可能是一個字符串或文件,第二個是字符串?第一個參數是null,所以groovy不知道使用哪個構造函數來創建文件。 –

+0

不,我檢查了我的代碼。我從來沒有創建任何java.io.File對象。這個項目在IDE中運行良好,但是當我使用tomcat運行它時,發生異常。 –

+0

@MikeW感謝您的提醒。它是由可能有一些錯誤的插件引起的。 –

回答

0

此問題是由插件「org.grails.plugins:asset-pipeline」引起的。

升級插件:

運行「com.bertramlabs.plugins:資產管線的Grails:2.13.1」