【问题标题】:apache tomcat: error in startup grails applicationapache tomcat:启动grails应用程序中的错误
【发布时间】: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 解决了这个问题。

标签: apache grails tomcat7


【解决方案1】:

我在尝试在 Ubuntu 16.04 beta 上运行我的 Grails 2.2.4 项目时遇到了同样的问题,正如 Tomasz 在评论中提到的,它似乎是旧 Grails 版本、Java 8 和更新版本的 tomcat 的组合。 tomcat 7 和 tomcat 8 都有同样的问题。 我通过将我的 Grails 项目升级到 Grails 2.3.11 解决了这个问题,这是我在不大规模重构代码的情况下所能做到的。切换到较旧的 tomcat 或 Java 7 对我来说不是一个选择。

【讨论】:

  • 错误的java版本(8而不是7)给我造成了这个问题,这个答案帮助我解决了这个问题。谢谢!
猜你喜欢
  • 2011-09-17
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
  • 2012-02-12
  • 2013-02-16
  • 2015-12-25
相关资源
最近更新 更多