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