grails - 如何在多项目 grails/gradle 构建中包含依赖 jar?

标签 grails intellij-idea gradle

我的项目中有以下设置...

  • 针对 SOA 风格项目的多项目 gradle 构建,使用rabbitmq 和 spring 集成连接在一起。
  • 包含许多 grails 项目以及表示服务的纯 java/groovy 项目。
  • 每个服务项目旁边都有一个项目 (jar),其中包含可使用 Spring 集成进行代理的服务的所有公共(public)接口(interface)(和消息)。
  • 这些项目使用 gradle 依赖项相互关联,然后我使用 gradle idea 插件生成 IntelliJ 项目文件。

我想做的是:

  • 将接口(interface) jar 包含在 grails 项目中,以便我可以在其中使用 spring 集成来通过rabbitmq 将我的调用代理到服务中。
  • 当我运行 grails 应用程序时,会构建此接口(interface) jar 并将其包含在 grails 中。
  • 当我从 IntelliJ 运行 grails 应用程序时,它会编译最新版本的接口(interface)并将它们包含在 grails 项目中。
  • 当我从 gradle 构建整个项目时,让 gradle 正确地将接口(interface) jar 与 grails 应用程序关联起来。
  • 理想情况下,我希望能够仅使用 gradle 中的依赖项声明来做到这一点,但这可能是一个白日梦......

我有什么选择?

  1. 在 gradle 内的 grails 构建生命周期中添加一个任务来构建任何依赖的 jar 并将它们复制到 grails lib 文件夹中?
  2. 通过使用 Events.groovy 或类似工具来 Hook grails 构建生命周期,以调用 grails 来构建和打包依赖的 jar。这将涵盖 IntelliJ 和命令行路线。
  3. 将接口(interface)构建为 Grails 插件?我对此不以为然,因为它们也需要在非 Grails 项目中使用。

任何帮助/建议将不胜感激。

最佳答案

事实证明,我需要做的就是添加以下内容,然后 grails 插件会为我处理依赖项...

compile project(':dependent-project')

非常适合运行应用程序和 war ...

关于grails - 如何在多项目 grails/gradle 构建中包含依赖 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378289/

相关文章:

grails - 容器重新启动后,将Servlet上下文保留在Grails中

grails - 在Grails插件中定义全局约束

mysql - Java(Grails)无法远程连接MySQL,本地也无法连接,但MySQL命令行可以

scala - IntelliJ : what difference between "SBT Console" and "SBT Shell"?

gradle - 如何从 Gradle 订购单元测试执行?

android - IntelliJ - Android 项目 - Gradle 刷新失败

mysql - 尽管数据库排序规则是utf8_general_ci,但是grails表排序规则latin_swedish_ci

intellij-idea - 将 kotlin 库(非 Android)发布到 jCenter

gradle - gRPC 梯度 :generateProto fails with directory not found when importing other proto definitions

java - Intellij + Gradle:属性文件