我有一个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都指向正确的位置。
有什么想法吗?
答案 0 :(得分:0)
一些想法:
BuildConfig.groovy继承了global,它让app继承了所有grails / plugin依赖项。如果你改变它,它可能会影响你的构建和打包 - 而且我还没有遇到任何关于你可以用继承DSL做什么类型的其他事情的文档
Grails部署文档表明,有一种方法可以自定义哪些依赖项进入war文件:http://grails.org/doc/latest/guide/17.%20Deployment.html
事件挂钩使您可以在grails生命周期的各个阶段提供关闭例程。它可以从最后的战争中剥离出框架罐吗?还没试过 - 只用它来重写各种配置文件以进行额外的环境配置。但是看起来包装事件看起来像这个API:
http://grails.org/doc/latest/guide/4.%20The%20Command%20Line.html