Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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
Eclipse 命令";“圣杯运行战争”;抛出错误java.lang.NullPointerException_Eclipse_Tomcat_Grails - Fatal编程技术网

Eclipse 命令";“圣杯运行战争”;抛出错误java.lang.NullPointerException

Eclipse 命令";“圣杯运行战争”;抛出错误java.lang.NullPointerException,eclipse,tomcat,grails,Eclipse,Tomcat,Grails,我正在使用EclipseST3.2.0。这就是我目前所做的: grailsrunapp命令有效 圣杯战争司令部工作 我单独运行Tomcat,并通过Tomcat部署生成的war。我还粘贴了错误(在STS错误报告之后) 我必须使用Maven,所以我执行了命令“grails create pom”, 我添加了“pom true”,如下所述: 我尝试了Maven(添加行“pom-true”)和Now(注释行“pom-true”) 我删除了文件夹:“C:\Users\ch.grails\ivy ca

我正在使用EclipseST3.2.0。这就是我目前所做的:

  • grailsrunapp命令有效
  • 圣杯战争司令部工作
  • 我单独运行Tomcat,并通过Tomcat部署生成的war。我还粘贴了错误(在STS错误报告之后)

  • 我必须使用Maven,所以我执行了命令“grails create pom”, 我添加了“pom true”,如下所述:

    • 我尝试了Maven(添加行“pom-true”)和Now(注释行“pom-true”)
  • 我删除了文件夹:“C:\Users\ch.grails\ivy cache”、“project\target”,再次运行命令“grails clean”和“grails run war”,结果是相同的错误

  • A) 这是STS的完整错误报告:

        | Environment set to development.....
        | Packaging Grails application....
        | Compiling 22 source files.....
        | Error 2013-05-16 18:50:20,674 [main] ERROR plugins.DefaultGrailsPlugin  - This class is not an ArtefactHandler:org.grails.plugin.resources.artefacts.ResourceMapperArtefactHandler
        | Error 2013-05-16 18:50:20,678 [main] ERROR plugins.DefaultGrailsPlugin  - This class is not an ArtefactHandler:org.grails.plugin.resources.artefacts.ResourcesArtefactHandler
        | Error 2013-05-16 18:50:20,718 [main] ERROR plugins.DefaultGrailsPlugin  - This class is not an ArtefactHandler:grails.plugin.cache.CacheConfigArtefactHandler
        | Compiling 3 GSP files for package [alojamiento]..
        | Compiling 4 GSP files for package [databaseMigration]..
        | Building WAR file.....
        | Done creating WAR target\Alojamiento-0.1.war
        | Error java.lang.NullPointerException
        | Error     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        | Error     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        | Error     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        | Error     at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        | Error     at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
        | Error     at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
        (...)
        | Error     at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeWithGantInstance(GrailsScriptRunner.java:768)
        | Error     at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeScriptFile(GrailsScriptRunner.java:566)
        | Error     at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeScriptWithCaching(GrailsScriptRunner.java:465)
        | Error     at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeScriptWithCaching(GrailsScriptRunner.java:416)
        | Error     at org.grails.ide.api.impl.GrailsConnectorImpl.executeCommand(GrailsConnectorImpl.java:144)
        | Error     at org.grails.ide.eclipse.longrunning.process.GrailsProcess.run(GrailsProcess.java:126)
        | Error     at org.grails.ide.eclipse.longrunning.process.GrailsProcess.main(GrailsProcess.java:89)
        | Error     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        | Error     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        | Error     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        | Error     at java.lang.reflect.Method.invoke(Method.java:601)
        | Error     at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
        | Error     at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)
        | Error Caused by: java.lang.NullPointerException
        | Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.createGroovyObjectGetPropertySite(AbstractCallSite.java:254)
        | Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.acceptGroovyObjectGetProperty(AbstractCallSite.java:239)
        | Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
        | Error     at org.grails.plugins.tomcat.TomcatServer.<init>(TomcatServer.groovy:58)
        | Error     at org.grails.plugins.tomcat.IsolatedWarTomcatServer.<init>(IsolatedWarTomcatServer.groovy:35)
        | Error     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        | Error     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        | Error     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        | Error     at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        | Error     at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
        | Error     at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
        | Error     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57)
        | Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
        | Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194)
        | Error     at org.grails.plugins.tomcat.TomcatServerFactory.createForWAR(TomcatServerFactory.groovy:88)
        | Error     at org.codehaus.groovy.grails.project.container.GrailsProjectRunner.runWarInternal(GrailsProjectRunner.groovy:151)
        | Error     at org.codehaus.groovy.grails.project.container.GrailsProjectRunner.runWar(GrailsProjectRunner.groovy:96)
        | Error     at org.codehaus.groovy.grails.project.container.GrailsProjectRunner$runWar.call(Unknown Source)
        | Error     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
        (...)
        | Error     at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        | Error     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1082)
        | Error     at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1106)
        | Error     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:906)
        | Error     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
        | Error     at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1106)
        | Error     at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        | Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
        | Error     at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)
        | Error     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        | Error     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        | Error     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        | Error     at java.lang.reflect.Method.invoke(Method.java:601)
        | Error     at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:231)
        | Error     at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:52)
        | Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        | Error     at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy)
        | Error     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        | Error     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        | Error     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        | Error     at java.lang.reflect.Method.invoke(Method.java:601)
        | Error     at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:272)
        | Error     at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:64)
        | Error     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
        | Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
        | Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
        | Error     at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)
        | Error     ... 76 more
    
    更新:

    C) 在@Sérgio Michels更正后,Tomcat控制台的新错误报告:

        may 16, 2013 6:57:17 PM org.apache.catalina.startup.HostConfig deployWAR
        INFO: Despliegue del archivo D:\Software\IW-apache-tomcat-7.0.37\webapps\Alojami
        ento-0.1.war de la aplicaci¾n web
        may 16, 2013 6:57:34 PM org.apache.catalina.startup.TaglibUriRule body
        INFO: TLD skipped. URI: http://www.springframework.org/tags is already defined
        2013-05-16 18:57:50,613 [localhost-startStop-1] ERROR context.GrailsContextLoade
        r  - Error initializing the application: Error creating bean with name 'transact
        ionManagerPostProcessor': Initialization of bean failed; nested exception is org
        .springframework.beans.factory.BeanCreationException: Error creating bean with n
        ame 'transactionManager': Cannot resolve reference to bean 'sessionFactory' whil
        e setting bean property 'sessionFactory'; nested exception is org.springframewor
        k.beans.factory.BeanCreationException: Error creating bean with name 'sessionFac
        tory': Cannot resolve reference to bean 'lobHandlerDetector' while setting bean
        property 'lobHandler'; nested exception is org.springframework.beans.factory.Bea
        nCreationException: Error creating bean with name 'lobHandlerDetector': Invocati
        on of init method failed; nested exception is org.springframework.jdbc.support.M
        etaDataAccessException: Error while extracting DatabaseMetaData; nested exceptio
        n is org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of cl
        ass 'com.mysql.jdbc.Driver' for connect URL 'jdbc:h2:prodDb;MVCC=TRUE'
        org.springframework.beans.factory.BeanCreationException: Error creating bean wit
        h name 'transactionManagerPostProcessor': Initialization of bean failed; nested
        exception is org.springframework.beans.factory.BeanCreationException: Error crea
        ting bean with name 'transactionManager': Cannot resolve reference to bean 'sess
        ionFactory' while setting bean property 'sessionFactory'; nested exception is or
        g.springframework.beans.factory.BeanCreationException: Error creating bean with
        name 'sessionFactory': Cannot resolve reference to bean 'lobHandlerDetector' whi
        le setting bean property 'lobHandler'; nested exception is org.springframework.b
        eans.factory.BeanCreationException: Error creating bean with name 'lobHandlerDet
        ector': Invocation of init method failed; nested exception is org.springframewor
        k.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData;
         nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create J
        DBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:h2:prodDb;MVCC
        =TRUE'
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
                at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
                at java.util.concurrent.FutureTask.run(FutureTask.java:166)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
                at java.lang.Thread.run(Thread.java:722)
        Caused by: org.springframework.beans.factory.BeanCreationException: Error creati
        ng bean with name 'transactionManager': Cannot resolve reference to bean 'sessio
        nFactory' while setting bean property 'sessionFactory'; nested exception is org.
        springframework.beans.factory.BeanCreationException: Error creating bean with na
        me 'sessionFactory': Cannot resolve reference to bean 'lobHandlerDetector' while
         setting bean property 'lobHandler'; nested exception is org.springframework.bea
        ns.factory.BeanCreationException: Error creating bean with name 'lobHandlerDetec
        tor': Invocation of init method failed; nested exception is org.springframework.
        jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; n
        ested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create JDB
        C driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:h2:prodDb;MVCC=T
        RUE'
        (...)
        INFO: Server startup in 39571 ms
    
        INFO: Despliegue del archivo D:\Software\IW-apache-tomcat-7.0.37\webapps\Alojami
        ento-0.1.war de la aplicaci¾n web
        may 16, 2013 10:09:12 PM org.apache.catalina.startup.TaglibUriRule body
        INFO: TLD skipped. URI: http://www.springframework.org/tags is already defined
        2013-05-16 22:09:20,376 [localhost-startStop-1] ERROR plugins.DefaultGrailsPlugi
        n  - This class is not an ArtefactHandler:org.grails.plugin.resources.artefacts.
        ResourceMapperArtefactHandler
        2013-05-16 22:09:20,381 [localhost-startStop-1] ERROR plugins.DefaultGrailsPlugi
        n  - This class is not an ArtefactHandler:org.grails.plugin.resources.artefacts.
        ResourcesArtefactHandler
        2013-05-16 22:09:20,429 [localhost-startStop-1] ERROR plugins.DefaultGrailsPlugi
        n  - This class is not an ArtefactHandler:grails.plugin.cache.CacheConfigArtefac
        tHandler
        2013-05-16 22:09:27,435 [localhost-startStop-1] ERROR context.GrailsContextLoade
        r  - Error initializing the application: HttpServletRequest
        java.lang.NoClassDefFoundError: HttpServletRequest
                at java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
                at java.lang.Class.getDeclaredMethods(Class.java:1810)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47
        1)
                at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
                at java.util.concurrent.FutureTask.run(FutureTask.java:166)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
        java:1145)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
        .java:615)
                at java.lang.Thread.run(Thread.java:722)
        Caused by: java.lang.ClassNotFoundException: HttpServletRequest
                ... 8 more
        2013-05-16 22:09:27,439 [localhost-startStop-1] ERROR context.GrailsContextLoade
        r  - Error initializing Grails: HttpServletRequest
        java.lang.NoClassDefFoundError: HttpServletRequest
                at java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
                at java.lang.Class.getDeclaredMethods(Class.java:1810)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47
        1)
                at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
                at java.util.concurrent.FutureTask.run(FutureTask.java:166)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
        java:1145)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
        .java:615)
                at java.lang.Thread.run(Thread.java:722)
        Caused by: java.lang.ClassNotFoundException: HttpServletRequest
                ... 8 more
        may 16, 2013 10:09:27 PM org.apache.catalina.core.StandardContext startInternal
        SEVERE: Error listenerStart
        may 16, 2013 10:09:27 PM org.apache.catalina.core.StandardContext startInternal
        SEVERE: Fall¾ en arranque del Contexto [/Alojamiento-0.1] debido a errores previ
        os
    
    更新2

    D) 运行测试后同样失败

        | Tests FAILED  - view reports in D:\ch\eclipse_workspaces\IW-grails\Alojamiento\target\test-reports
        | Error java.lang.NullPointerException
        | Error     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        | Error     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        | Error     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        | Error     at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    

    发生第二个错误是因为未正确定义数据源:

    提取数据库元数据时出错; 嵌套异常为org.apache.commons.dbcp.SQLNestedException:无法创建 用于连接URL“jdbc:h2:prodDb”的类“com.mysql.jdbc.driver”的DBC驱动程序;MVCC =正确'

    您正在使用带有MySQL驱动程序(com.MySQL.jdbc.driver)的
    h2
    jdbc url


    如果您调整
    DataSource.groovy,部署的实例应该可以工作。

    您是对的。我修复了它,并在最后添加了新的错误更新了问题:(上一个错误发生的原因是我在开发环境中配置了mysql,但是命令“grails-war”使用了生产环境。解决方案:我应该使用“grails-dev-war”而不是“grails-war”。它现在在Tomcat中部署,但是命令“grails run war”仍然失败,并报告了相同的错误。它在以下情况下在Tomcat中工作:1)创建一个空的mysql数据库(grails生成表,但您必须使用提供的相同名称创建一个数据库)。2)确保BuildConfig.groovy依赖项“mysql:mysql connector java:5.1.25”在war中(我注释了这行+dev war+注释掉了这行。运行测试后同样失败。我更新了问题:UPDATE 2d)运行测试后同样失败!您使用的是Grails和JDK的Witch版本吗?Grails 2.2.2.jdk1.7.021您可以尝试使用1.6 JDK吗?同样的错误,所以我返回到默认版本(在我的项目临近时):J2SE-1.5(jdk1.7.0_21)