我的项目中有以下设置...
- 针对 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 中的依赖项声明来做到这一点,但这可能是一个白日梦......
我有什么选择?
- 在 gradle 内的 grails 构建生命周期中添加一个任务来构建任何依赖的 jar 并将它们复制到 grails lib 文件夹中?
- 通过使用 Events.groovy 或类似工具来 Hook grails 构建生命周期,以调用 grails 来构建和打包依赖的 jar。这将涵盖 IntelliJ 和命令行路线。
- 将接口(interface)构建为 Grails 插件?我对此不以为然,因为它们也需要在非 Grails 项目中使用。
任何帮助/建议将不胜感激。
最佳答案
事实证明,我需要做的就是添加以下内容,然后 grails 插件会为我处理依赖项...
compile project(':dependent-project')
非常适合运行应用程序和 war ...
关于grails - 如何在多项目 grails/gradle 构建中包含依赖 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378289/