多个 Grails 插件和类路径
Posted
技术标签:
【中文标题】多个 Grails 插件和类路径【英文标题】:Multiple Grails plugins and classpath 【发布时间】:2013-09-23 12:06:51 【问题描述】:我正在尝试启动一个 Grails 应用程序,它由 多个插件 组成,每个插件都存储为单独的 Maven 模块。依赖关系在BuildConfig.groovy
文件中指定。启动存储在其他插件中的应用程序类(Java 和 Groovy)时不会加载。我检查了类路径,它似乎不包括其他插件生成的类。
BuildConfig.groovy
中的依赖项如下所示:
Maven模块结构如下:
/pom.xml /my-app/pom.xml /plugin-one/pom.xml /plugin-二/pom.xml ...【问题讨论】:
“存储为单独的 Maven 模块” - 你能详细说明一下吗?您开发的应用程序是否也已 mavenized? 你能分享你的 BuildConfig.groovy 吗? @dmahapatro - 我有一个 Maven 模块的扁平结构:my-app、plugin-one、plugin-two 等。虽然我很确定情况并非如此。 【参考方案1】:grails 应用程序不将其类路径扩展到插件目录。相反,所有已编译的类都被复制到您的应用程序基目录包含的target/plugin-classes
目录中。
上一篇文章中描述的问题是由于Grails 不想将插件资源复制到应用程序类路径由于缺少Grails 插件的描述符。特别是plugin.xml
文件。不幸的是,Grails 文档对此保持沉默。但是,您可以通过在插件的基本目录中调用 grails package-plugin
命令为所有插件生成 plugin.xml
文件。如果您不希望 Grails 静默失败,请记住在对插件配置进行重大更改后重新生成插件描述符。
【讨论】:
以上是关于多个 Grails 插件和类路径的主要内容,如果未能解决你的问题,请参考以下文章
Grails、Grails RabbitMQ 插件、Java 、Spring AMQP - 多个客户端