【发布时间】:2016-04-26 19:36:57
【问题描述】:
我正在尝试从一个 Nexus 存储库下载工件并使用 Gradle 将其上传到另一个。
我的 Gradle 构建文件如下:
dependencies {
compile group: ARTIFACT_GROUP_ID, name: ARTIFACT_ARTIFACT_ID, version: ARTIFACT_VERSION
}
// Get dependency Artifact file
task upload_artifact(type: Jar){
from(file(project.configurations.compile.find { it.name.startsWith(ARTIFACT_ARTIFACT_ID+"-"+ARTIFACT_VERSION) }))
}
// Finally publish the artifact
publishing {
repositories{
maven{
url NEXUS_URL
credentials {
username NEXUS_USER
password NEXUS_PASSWORD
}
}
}
publications {
maven_artifact(MavenPublication) {
//GAV Co-ordinates to use to publish the artifact
artifact upload_artifact
groupId ARTIFACT_GROUP_ID
artifactId ARTIFACT_ARTIFACT_ID
version ARTIFACT_UPLOAD_VERSION
}
}
}
上传工作,它上传一个具有正确组、工件 ID 和版本的 Jar。它还会将其上传到正确的位置。
问题:
上传的 jar 是包含要上传的实际 jar 的存档。
例如,如果我想下载artifact.jar并将其上传到另一个nexus存储库,脚本会将artifact.jar上传到正确的nexus存储库,但如果我下载上传的artifact.jar并打开存档,我会发现其中下载的artifact.jar。
【问题讨论】: