【问题标题】:Grails deploy on Tomcat6Grails 部署在 Tomcat6 上
【发布时间】:2011-02-16 00:30:45
【问题描述】:

在尝试将 Grails 应用程序部署到 tomcat6 时遇到了一些问题:我使用 grails war 命令构建了一个战争,然后将其复制到 var/lib/tomcat6/webapps 并尝试重新启动容器。

我不得不更改默认的 Tomcat 策略以跳过安全异常,因为我无法访问环境变量(如 grails.env),然后再次尝试,但它给了我一个与实例化相关的异常,但不清楚应该在哪里我尝试修复错误,根据tomcat6日志问题是:

严重:向 org.codehaus.groovy.grails.web.context.GrailsC$ 类的侦听器实例发送上下文初始化事件的异常 org.springframework.beans.factory.BeanCreationException:创建 ServletContext$ 中定义的名称为“pluginManager”的 bean 时出错 在 java.lang.Thread.run(Thread.java:619) 引起:org.codehaus.groovy.grails.exceptions.NewInstanceCreationException:无法创建类 [Hiberna$ 的新实例 ... 1 更多 引起:java.lang.NoClassDefFoundError: org.hibernate.cfg.Environment

似乎无法加载org.hibernate.cfg.Environment 类。

我检查了applicationContext.xml,它引用grails.xml 来搜索插件,在最后一个文件中我实际上有HibernateGrailsPlugin

我应该在哪里查找插件是否存在?

【问题讨论】:

  • 首先要尝试关闭tomcat中的安全管理器。
  • 正如我所写的,我已经把它关掉了! :)

标签: hibernate tomcat grails deployment


【解决方案1】:

不是 grails 人,但您似乎缺少 hibernate-core 依赖项。您可以尝试将that .jar 放入您的服务器共享库中,看看是否可以解决您的问题。理想情况下,这将位于您的 grails 战争库中的某个位置,但我不确定在哪里。

【讨论】:

    【解决方案2】:

    我没有遇到您的具体问题,建议您尝试运行

    grails clean
    

    那就试试吧

    grails run-war
    

    如果运行成功,请尝试部署它。

    我发现当你从 grails 中得到奇怪的错误时,是时候进行清理了。

    【讨论】:

    • 事先运行 grails clean 可以解决问题 - 非常感谢!
    【解决方案3】:

    将 jar 文件 hibernate-core-3.3.2.GA.jar 放在 tomcat/lib 中就可以了。 谢谢哥们!

    奇怪的是: 我在战争中拥有同一个 jar 文件的旧版本,但它给出了异常。该应用程序使用 JettyNetBeans 中运行良好,但将其部署在 tomcat 上会出现此问题。

    无论如何,现在可以通过将 jar 文件 hibernate-core-3.3.2.GA.jar 放入 tomcat/lib 中。

    再次感谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      相关资源
      最近更新 更多