我似乎无法使用与uploadArchives不同的单独的上载任务将第二组jars发布到本地maven repo。这是我的装置:
uploadArchives {
repositories {
mavenDeployer {
repository(url: project.releaseRepoUrl)
snapshotRepository(url: project.snapshotRepoUrl)
}
}
}
task sourcesJar(type: Jar){ ... }
artifacts{
archives sourcesJar
}上述工作如预期的那样。那么我还有一个额外的configuration
configurations{
guiceArchives
}
task guiceJar(type: Jar){ ... }
task guiceSourcesJar(type: Jar){ ... }
artifacts{
guiceArchives guiceJar
guiceArchives guiceSourcesJar
//archives guiceJar
//archives guiceSourcesJar
}执行gradle uploadArchives工作正常,但gradle uploadGuiceArchives什么也不做:
:core:guiceClasses UP-TO-DATE
:core:guiceJar UP-TO-DATE
:core:guiceSourcesJar UP-TO-DATE
:core:jar UP-TO-DATE
:core:sourcesJar UP-TO-DATE
:core:uploadArchives
BUILD FINISHED单独的guiceJar和guiceSourcesJar任务可以自己正常工作,打印出guiceArchives配置的内容也会显示jars被正确地包含为工件。
我尝试将guiceJar和guiceSourcesJar临时分配给archives配置,这让它抱怨道:
A POM cannot have multiple artifacts with the same type and classifier.这正是手册上说。所以我认为是这个艺术品冲突导致了这个问题。
因此,我按照手册的建议,使用addFilter修复了它,这很好,但只有当guiceJar和guiceSourcesJar被分配给archives时才有效。当我将它们分配回guiceArchives并尝试gradle uploadGuiceArchives时,它仍然什么也不做。
有没有办法上传具有不同上传任务的多个工件?
解决方案:
以下是@提供的解决方案的更新。
只需添加以下内容:
uploadGuiceArchives {
repositories {
mavenDeployer {
repository(url: project.releaseRepoUrl)
snapshotRepository(url: project.snapshotRepoUrl)
}
}
}注意:不需要addFilter。
谢谢!
Edit2:
为了完整性,project.releaseRepoUrl和project.snapshotRepoUrl设置为本地maven存储库,如下所示:
project.ext{
releaseRepoUrl = "file://${project(':').projectDir}/../mvn-repo/releases"
snapshotRepoUrl = "file://${project(':').projectDir}/../mvn-repo/snapshots"
}发布于 2012-03-31 19:35:21
难道您没有像为uploadGuiceArchives定义存储库那样为uploadArchives定义存储库吗
https://stackoverflow.com/questions/9957771
复制相似问题