当你按下按钮用gradle做某事时,Intellij会隐藏它运行的gradle命令。这使得找出问题非常困难。我点击"刷新" (而不是REFRESH DEPENDENCIES),它似乎触发了我所有的兄弟项目和我的项目构建错误。它肯定没有运行" gradle build"因为如果确实如此,它不会触发我的多项目构建中的所有兄弟项目。
答案 0 :(得分:0)
在gradle中单击“刷新”将显示如下日志:
2019-10-17 14:58:10,391 [9949323] INFO - xecution.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: -Didea.sync.active=true -Didea.resolveSourceSetDependencies=true --init-script /tmp/ijinit.gradle
在这里,IDEA正在使用Gradle Tooling API和gradle init script(在我的计算机上的/tmp/ijinit.gradle中)。该文件显示更多:
$ cat /tmp/ijinit.gradle
...imports etc...
initscript {
dependencies {
classpath files([...list of IDEA jars...])
}
}
apply plugin: JetGradlePlugin
class JetGradlePlugin implements Plugin<Gradle> {
void apply(Gradle gradle) {
def processor = new RegistryProcessor()
gradle.addProjectEvaluationListener(processor)
def projectEvaluationIsNotCalledForIncludedBuilds = GradleVersion.current() >= GradleVersion.version("3.1") &&
GradleVersion.current() < GradleVersion.version("4.0")
if (projectEvaluationIsNotCalledForIncludedBuilds) {
gradle.rootProject {
it.afterEvaluate {
gradle.includedBuilds.each { included ->
// included builds should be configured by now, so calling `configuredBuild` should be safe
def toolingRegistry = (ToolingModelBuilderRegistry)included.configuredBuild.services.get(ToolingModelBuilderRegistry.class)
processor.process(toolingRegistry)
}
}
}
}
}
}
...other overrides...
正如其他人提到的那样,可以在“ IDEA Gradle”选项卡中排除包含的内部版本,但希望这可以回答特定的标题问题。
答案 1 :(得分:0)
如果使用的是Gradle的最新版本,则可以使用--refresh-dependencies选项。
./ gradlew构建--refresh-dependencies