【发布时间】:2015-08-17 12:47:13
【问题描述】:
我有两个 gradle 项目。项目 A 包括项目 B 作为依赖项。我将它们都导入到 intellij 中,使用 maven 进行相同的设置,我可以更新项目 B 并运行项目 A 会立即看到更改。使用 gradle,我必须在项目 B 上运行 gradle build,然后在 intellij 中刷新项目 A。有什么技巧可以让这更加动态吗?
【问题讨论】:
标签: intellij-idea gradle
我有两个 gradle 项目。项目 A 包括项目 B 作为依赖项。我将它们都导入到 intellij 中,使用 maven 进行相同的设置,我可以更新项目 B 并运行项目 A 会立即看到更改。使用 gradle,我必须在项目 B 上运行 gradle build,然后在 intellij 中刷新项目 A。有什么技巧可以让这更加动态吗?
【问题讨论】:
标签: intellij-idea gradle
如果 A 和 B 是同一个多项目构建的一部分,您可以通过这种方式让 A 导入 B:
dependencies {
compile project(':B')
}
然后,对 B 的更改应该立即对 A 可见。换句话说,一旦 IntelliJ 检测到 A 已过期并构建它,B 中的更改可能会导致 A 中的构建失败。
但是,听起来情况并非如此,所以 A 实际上是从某个远程 repo 导入 B?
dependencies {
compile "com.stackoverflow.example:B:1.12"
}
在后一种情况下,当 Gradle(或 IntelliJ)编译项目 A 时,它实际上使用本地 gradle 缓存中或远程 repo 中的 B 版本。无论哪种方式,在这些更改被构建并发布到 repo 之前,Gradle 都不会看到 B 中所做的更改。
【讨论】: