Gradle中的依赖项无法正常工作

Gradle中的依赖项无法正常工作,gradle,maven-2,Gradle,Maven 2,我们有一个使用Java1.5的项目,我们正在尝试从Maven转换到Gradle 我们有一个本地存储库,其中包含我们需要的所有JAR的所有版本,因为开发环境无法访问internet。 我们看到的问题是,它找不到commons io jar,一直试图转到外部maven repo。我们甚至还没有设置,那么它是从哪里找到的呢 我们在“所有项目”部分中设置了存储库和依赖项,如下所示 allprojects { apply plugin: 'java' sourceCompatibility = 1

我们有一个使用Java1.5的项目,我们正在尝试从Maven转换到Gradle

我们有一个本地存储库,其中包含我们需要的所有JAR的所有版本,因为开发环境无法访问internet。 我们看到的问题是,它找不到commons io jar,一直试图转到外部maven repo。我们甚至还没有设置,那么它是从哪里找到的呢

我们在“所有项目”部分中设置了存储库和依赖项,如下所示

allprojects {
  apply plugin: 'java'

 sourceCompatibility = 1.5
 targetCompatibility = 1.5
 project.tasks.withType(AbstractCompile, { AbstractCompile ac -> ac.options.bootClasspath = "C:/Program Files/java/1.5.0_14/jre/lib/rt.jar" })


  repositories {
     mavenLocal()
     maven { url "http://internalrepo/maven-local" }
  }

  dependencies {
     compile "org.apache.commons:commons-io:1.3.2"
  }
但它的报道

 Could not resolve org.apache.commons:commons-io:1.3.2.
   inconsistent module metadata found

即使使用mvn安装在Maven中运行良好,Gradle也不会查询未设置的回购协议。mavenlocal拼写错误,应该是mavenlocal,这将导致构建失败。不一致的元数据可能意味着POM中的组ID、工件ID或版本与构建脚本中的不匹配。只有当Gradle版本需要与本地Maven版本交换工件时,才应使用mavenLocal。

发现问题

我不知道maven安装文件夹中的maven settings.xml中有一个隐藏的repo


添加这一行解决了问题。

可能只是mavenLocal加了大写字母L,但我不确定这一行是由gradle init在将maven项目转换为gradle时添加的,并且在此处输入错误。此外,项目在maven中相互调用,因此依赖于回购协议中内置的JAR。下一步是检查POM并检查其是否存在任何问题。还可以尝试使用最新的Gradle版本,看看它是否有所不同。