Java Gradle中不一致依赖位置的求解

Java Gradle中不一致依赖位置的求解,java,gradle,Java,Gradle,因此,我正在构建一个gradle项目,下面是我的(简化)构建脚本: buildscript { repositories { maven { url "https://repo1.maven.org/maven2/" } maven { url 'https://repo.spring.io/plugins-release-local/' } } dependencies { classpath 'org

因此,我正在构建一个gradle项目,下面是我的(简化)构建脚本:

buildscript {
    repositories {
        maven { url "https://repo1.maven.org/maven2/" }
        maven { url 'https://repo.spring.io/plugins-release-local/' }
    }
    dependencies {
        classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.2.4'
    }
}
这给了我一个错误:

   > Could not find org.apache.xerces:xercesImpl:2.9.1.
     Searched in the following locations:
       - https://repo1.maven.org/maven2/org/apache/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
       - https://repo.spring.io/plugins-release-local/org/apache/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
     Required by:
         project : > org.springframework.build.gradle:docbook-reference-plugin:0.2.4

显然docbook需要xerces作为依赖项

所以我在maven repository中搜索Xerce,发现Xerce不是在
org/apache/xerces/
中,而是在
xerces/
中!!!(wtf!?)(见)

那么现在,我应该如何让gradle知道,在搜索xerces for docbook时,它应该转到
xerces/
而不是
org/apache/xerces/

根据该插件的定义,正确的存储库应该是:

repositories {
    maven { url 'http://repo.spring.io/plugins-release' }
}
事实上,它包含了

先前的答复 尝试将
mavenCentral()
添加到存储库列表中

repositories {
    mavenCentral()
    maven { url "https://repo1.maven.org/maven2/" }
    maven { url 'https://repo.spring.io/plugins-release-local/' }
}

尝试使用扩展存储库集

mavenLocal()
mavenCentral()

不需要定义存储库的URL,除非您所在的公司环境中的internet访问受到限制。

错误仍然存在。gradle仍在使用
org/apache/xerces
而不是
xerces
>在mavenCentral()中查找xerces,但找不到org.apache.xerces:xercesImpl:2.9.1。在以下位置搜索:--@YihuaZhou答案更新谢谢!它正在工作!