【问题标题】:Grails + Tomcat6 + Multiple Instances + Shared Lib FolderGrails + Tomcat6 + 多个实例 + 共享库文件夹
【发布时间】:2011-09-06 23:40:52
【问题描述】:

我有一个 Tomcat6 服务器,它为两个独立的圣杯应用程序运行多个实例。 当我编译我的 WAR 文件以正常部署时

run-app -Dgrails.env=production war test.war

它部署正确,一切正常。 问题是,我不希望我的 WAR 中包含 JAR 文件。

所以我改用下面的命令行

run-app -Dgrails.env=production war test.war --nojars

现在当我的 grails 应用程序部署(它没有)我得到一个 java.lang.NoSuchMethodError

我已将 lib 文件夹(从我最初的 test.war 中)复制到以下位置

${catalina.base}/shared/lib
${catalina.home}/shared/lib
${catalina.home}/lib

这些都不起作用。

我的 catalina.properties 都指向正确的位置。

有什么想法吗?

【问题讨论】:

  • 您是否尝试将 Grails JAR 放入您的 ${catalina.home}/lib 目录?

标签: grails tomcat6


【解决方案1】:

一些想法:

  1. BuildConfig.groovy 继承了 global,它使应用程序继承了所有 grails/plugins 依赖项。如果你改变它,它可能会影响你的构建和打包——而且我还没有遇到任何关于你可以用继承 DSL 做什么类型的其他事情的文档

  2. Grails 部署文档建议有一种方法可以自定义将哪些依赖项放入 war 文件:http://grails.org/doc/latest/guide/17.%20Deployment.html

  3. 事件挂钩使您可以访问以将闭包例程提供到 Grails 生命周期的各个阶段。它可以从最终战争中剔除框架罐子吗?也没有尝试过-仅使用它来重写各种配置文件以进行其他环境配置。但是看起来包装事件确实暴露给了这个 API:

http://grails.org/doc/latest/guide/4.%20The%20Command%20Line.html

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 2018-05-13
    相关资源
    最近更新 更多