我有一个 Tomcat6 服务器,它为两个独立的 grail 应用程序运行多个实例。
当我编译我的 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 都指向正确的位置。

有任何想法吗?

请您参考如下方法:

一些想法:

  • BuildConfig.groovy 继承了 global,它使应用程序继承了所有 grails/plugins 依赖项。如果你改变它,它可能会影响你的构建和打包——而且我还没有遇到任何关于你可以用继承 DSL
  • 做哪些类型的其他事情的文档。
  • Grails 部署文档建议有一种方法可以自定义将哪些依赖项放入 war 文件:http://grails.org/doc/latest/guide/17.%20Deployment.html
  • 事件 Hook 使您可以访问为 grails 生命周期的各个阶段提供闭包例程。它可以从最终 war 中剔除框架 jar 吗?也没有尝试过 - 仅使用它来重写各种配置文件以进行其他环境配置。然而,包装事件看起来确实暴露给了这个 API:

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


    评论关闭
    IT序号网

    微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!