我们有一个使用Java 1.5的项目,我们正在尝试从Maven转换为Gradle。
我们有一个本地存储库,其中包含我们需要的所有jar的所有版本,因为开发环境无法访问Internet。
我们看到的问题是,它找不到commons-io jar,并一直尝试进入外部Maven存储库。我们甚至还没有设置它,那么它是从哪里找到的呢?
我们在“所有项目”部分中设置了存储库和依赖项,如下所示
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 install的Maven中工作正常
最佳答案
Gradle将永远不会查询未设置的仓库。 mavenlocal()
拼写错误(应为mavenLocal()
),这会使构建失败。 “元数据不一致”可能意味着POM中的组ID, Artifact ID或版本与构建脚本中的不匹配。仅当Gradle构建需要与本地Maven构建交换 Artifact 时,才应使用mavenLocal()
。
关于gradle - Gradle中的依赖项无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973579/