我使用默认配置在localhost上设置了Archiva个实例。我尝试了几种不同的Gradle配置来解析archiva实例,但似乎都没有。
的build.gradle
subprojects {
apply plugin: 'java'
apply plugin: 'maven'
repositories {
mavenRepo url: 'http://localhost:8080/archiva', artifactUrls: [
'http://localhost:8080/archiva/repository/internal',
'http://localhost:8080/archiva/repository/snapshot'
]
maven { url 'http://localhost:8080/archiva' }
ivy {
artifactPattern 'http://localhost:8080/archiva/repository/internal/[organisation]/[artifact]/[revision]/[artifact](-[revision]).[ext]'
}
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.10'
}
}
dependsOnChildren()
我不认为发布任何/所有子项目gradle文件是相关的,但如果你认为有必要,我可以。
这里有什么我想念的吗? gradle是否以不同于localhost的方式处理localhost url(因为正在解析mavenCentral
依赖项)?如何让Gradle解析为Maven仓库的本地实例?
编辑: @Peter Niederwieser
:/> gradle build
> Loading > Resolving dependencies ':projects:project-plugin-framework:classpat
:projects:compileJava UP-TO-DATE
:projects:processResources UP-TO-DATE
:projects:classes UP-TO-DATE
:projects:jar UP-TO-DATE
:projects:assemble UP-TO-DATE
:projects:compileTestJava UP-TO-DATE
:projects:processTestResources UP-TO-DATE
:projects:testClasses UP-TO-DATE
:projects:test UP-TO-DATE
:projects:check UP-TO-DATE
:projects:build UP-TO-DATE
:projects:project-plugin-framework:compileJava UP-TO-DATE
:projects:project-plugin-framework:processResources UP-TO-DATE
:projects:project-plugin-framework:classes UP-TO-DATE
:projects:project-plugin-framework:jar UP-TO-DATE
:projects:project:compileJava UP-TO-DATE
:projects:project:processResources UP-TO-DATE
:projects:project:classes UP-TO-DATE
:projects:project:jar UP-TO-DATE
:projects:project:assemble UP-TO-DATE
:projects:project:compileTestJava UP-TO-DATE
:projects:project:processTestResources UP-TO-DATE
:projects:project:testClasses UP-TO-DATE
> Building > :projects:project:test > Resolving dependencies ':projects:mag
:projects:project:test
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':projects:project:tes
tRuntime'.
> Could not find group:jspf, module:jspf.core, version:1.0.2.
Required by:
Project.projects:project:0.0.1
Project.projects:project:0.0.1 > Project.projects:project-pl
ugin-framework:0.0.1
> Could not find any version that matches group:erichschroeter, module:applib, v
ersion:latest.integration.
Required by:
Project.projects:project:0.0.1
Project.projects:project:0.0.1 > Project.projects:project-pl
ugin-framework:0.0.1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
BUILD FAILED
Total time: 12.61 secs
答案 0 :(得分:6)
问题必须处理Gradle的缓存以及我最初将工件上传到Archiva repo。
当您在Archiva上传工件时,您可以选择生成Maven 2 POM,但我没有这样做。因此,当Gradle去解决Archiva仓库中的依赖关系时,它没有找到我认为它正在寻找的POM,因此无法解决依赖关系。
通过删除.gradle/caches
目录并简单地调用build
从头开始来解决问题。