我有同样的问题(或非常相似)。我在两个相互隔离且与Internet隔离的网络上,但是每个网络都有一个Artifactory,可满足我的所有需求。有些项目生活在一个网络上,而需要Artifactor,而另一些生活在另一个网络上,而有些项目则被复制到两者中,并且需要他们可以交谈的任何对象。
所以我有多个build.gradle,其中我将build.gradle定义为:
buildscript {
repositories {
maven { url 'someaddress1' }
maven { url 'someaddress2' }
}
dependencies {
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6'
}
}
apply plugin: 'org.sonarqube'
//other things that are project specific
我想我将回购信息提取到一个新文件中,称为artifactories.gradle,如下所示:
buildscript {
repositories {
maven { url 'someaddress1' }
maven { url 'someaddress2' }
}
}
更改后的build.gradle如下:
buildscript {
apply from: 'pathToGetThere/artifactories.gradle', to: buildscript
dependencies {
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6'
}
}
apply plugin: 'org.sonarqube'
//other things that are project specific
但是当我尝试构建时,由于没有定义存储库,因此出现了无法解决对org.sonarqube类路径的外部依赖的错误。有趣的是,这只是应用该插件的问题。为了获得我所有其他项目的依赖关系(在子项目中),这很好(我可以通过引用声纳材料的所有行来区分出来)。不幸的是,我无法说出其他任何方式来获取插件的知识。为什么它看不到我要获取的重新定义的定义?我尝试将依赖关系类路径放在artifactories.gradle中,但是脚本抱怨不知道什么是org.sonarqube。