【发布时间】:2016-12-17 02:35:52
【问题描述】:
使用 IntelliJ 2016.2。
使用 Gradle 2.14.1
我有 2 个项目,每个项目都有自己的 build.gradle 文件和单独的目录结构:
myLib (meant to be jarred and used by others)
- build.gradle
- settings.gradle
- src/main/java/...
sandbox (spring boot web app)
- build.gradle
- settings.gradle
- src/main/java/...
- src/main/resources/...
希望你能明白这一点。在 IntelliJ 中,我在同一级别(无子项目)具有以下模块结构:
- myLib
- sandbox
简单的请求...我想在sandbox 应用程序中使用myLib。我希望在同一个项目中同时开发这两个模块。
我尝试在 IntelliJ 中为 myLib 添加模块依赖项到 sandbox。没有骰子。我试过添加一个 jar 引用,没有骰子。
我相信我需要在 build.gradle 文件中添加一个依赖项,但无法弄清楚如何。我试过compile files '<path to myLib.jar>'等。没有骰子。
【问题讨论】:
-
你在这两个模块之外有顶级的
bulid.gradle和settings.gradle吗? -
不,我没有。在同一级别分离 dir 结构。
-
我意识到我可以在 'sandbox' 中创建 'lib' 目录并在每次重建和 jarred 'myLib' 时复制 'myLib' jar 文件,但我正在寻找更好的解决方案.以为 IntelliJ 和/或 Gradle 会帮我把它放在一起。
-
这很奇怪,我注意到当我告诉idea 添加对给定模块的依赖项时,它只在.idea 文件中执行此操作,而不是在其他地方。
-
类似地,如果我在 IntelliJ IDE 项目设置中添加依赖项,那么它会解决 IDE 编辑器中的错误;但是,我无法构建,因为 IntelliJ 没有对 build.gradle 和 settings.gradle 文件进行任何更改。所以我按照下面的解决方案手动添加了依赖项。那是在外部设置文件中我添加了“include ':myLib'”,在构建文件中我添加了“compile project(':myLib')”。显然冒号是 gradle 用来表示子项目层次结构的分隔符
标签: java intellij-idea gradle