【发布时间】:2014-08-26 10:53:32
【问题描述】:
我已将 Grails 战争部署到已安装 Apache Tomcat 7 的服务器中,但它没有启动。 这是 catalina.out 中给出的堆栈跟踪:
2014-07-05 12:07:55,875 [http-bio-8080-exec-53] ERROR context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invo
cation of init method failed; nested exception is java.lang.NullPointerException: Cannot invoke method getAt() on null object
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
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: java.lang.NullPointerException: Cannot invoke method getAt() on null object
... 5 more
2014-07-05 12:07:55,883 [http-bio-8080-exec-53] ERROR context.GrailsContextLoader - Error initializing the application: Error creating bean with name 'pluginManager' defined in
ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException: Cannot invoke method getAt() on
null object
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invo
cation of init method failed; nested exception is java.lang.NullPointerException: Cannot invoke method getAt() on null object
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
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: java.lang.NullPointerException: Cannot invoke method getAt() on null object
... 5 more
2014-07-05 12:07:55,886 [http-bio-8080-exec-53] ERROR context.GrailsContextLoader - Error initializing Grails: Error creating bean with name 'pluginManager' defined in ServletC
ontext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException: Cannot invoke method getAt() on null obj
ect
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invo
cation of init method failed; nested exception is java.lang.NullPointerException: Cannot invoke method getAt() on null object
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.j ava:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
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: java.lang.NullPointerException: Cannot invoke method getAt() on null object
... 5 more
有什么建议吗?
编辑: 战争不起作用的tomcat版本是7.0.54。我以前在另一台机器上使用过早期版本(7.0.26)并且战争开始了。
【问题讨论】:
-
run-war/prod run-app结果如何? -
抱歉,马里奥是什么意思?如果您的意思是我如何运行应用程序,我会使用 Apache Tomcat 应用程序管理器中的“开始”按钮
-
我的意思是,当您使用 grails 交互式控制台在嵌入式 tomcat 服务器中启动应用程序(在生产模式下)时,是否会发生同样的事情。一般来说,如果你能告诉我们更多关于背景和你已经尝试过的东西,那会很好
-
我从未使用过 grails 交互式控制台来启动应用程序。在生产中,我使用 Intellij Idea IDE 并且应用程序正确启动。我已将应用程序放在另一台服务器上,它也启动了,但在第一台服务器(即虚拟远程服务器)中我有上述异常
-
对我来说,是 Java 8 和 tomcat 7.0.54 的组合导致了错误。降级到 Java 7 和 tomcat 7.0.26 解决了这个问题。