Grails:如何将扩展与主war文件捆绑在一起,而它们不应该是已构建的扩展的一部分?

时间:2013-07-04 17:19:57

标签: grails plugins deployment war

我有一些客户扩展必须作为单独的模块实现(例如:grails插件),并且应该在部署时使用应用程序进行引导/配置,但不包含在最终的war文件中。

插件不必在运行时加载,它只是不包含在war文件中,仍然能够与主应用程序服务进行通信。

我知道我可以在BuildConfig.groovy中指定插件的位置,因为grails docs

  

应用程序可以从文件系统的任何位置加载插件,即使它们尚未安装。在应用程序的grails-app / conf / BuildConfig.groovy文件中指定(解压缩)插件的位置:

但我希望能够从构建的WAR文件中排除插件。

我认为这个解决方案是使用生成jar的二进制插件,并使用classLoader加载插件。

请给我你宝贵的建议,因为我找不到一个好的解决方案。

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果您标记正确,您的用例类似于grails tomcat插件,默认情况下嵌入在grails应用程序中。方法如下:

  • 在构建过程中使用。
  • 未包装在战争中。
  • 未在运行时加载。
  • 充当应用程序的嵌入式服务器。

<强>推论:
您可以在与build相同的tomcat配置中使用您的插件吗?

//BuildConfig.groovy
....
plugins{
    build ':yourPlugun:1.0'
}
....