我有两个gradle项目。项目A包括项目B作为依赖项。我将它们都导入intellij,使用maven进行相同的设置,我可以更新项目B并运行项目A会立即看到更改。使用gradle我必须在项目B上运行gradle build,然后在intellij中刷新项目A.有没有办法使这更有活力?
答案 0 :(得分:0)
如果A和B是同一个多项目构建的一部分,那么您可以通过这种方式获得A导入:
dependencies {
compile project(':B')
}
然后,对B的更改应该立即对A可见。换句话说,一旦IntelliJ检测到A已过期并构建它,B中的更改可能会导致A中的构建失败。
然而,听起来并非如此,所以A实际上是从某个远程仓库导入B?
dependencies {
compile "com.stackoverflow.example:B:1.12"
}
在后一种情况下,当Gradle(或IntelliJ)编译项目A时,它实际上使用的是本地gradle缓存中的B版本,或者是远程仓库。无论哪种方式,Gradle都不会看到B中所做的更改,直到构建这些更改并将其发布到回购。