我有一个Gradle项目,当构建基于某些规则创建多个Jar文件时,如A类,B类和C类goto A.jar,类D,E和F转到B.jar等等。
现在我想将这些Jar文件上传到Maven存储库。虽然我能够做到,但我想将这些Jars中的每一个都放在Maven Repository中作为一个独立的工件。
例如:现在,如果我有一个名为MyProject的项目并且它生成了2个Jar文件:A.jar和B.jar,那么在maven存储库中我有以下结构
------- Repo
|
|----com
|
|--- project
|
|---- MyProject
|
|---- version 1
|
|--- A.jar
|--- B.jar
但我想要以下结构
------- Repo
|
|----com
|
|--- project
|
|---- MyProject
|
|---- A
|
|--- Version 1
|
|--- A.jar
|---- B
|
|---- Version 1
|
|--- B.jar
这意味着我想确保A.jar和B.jar都是Maven存储库中的两个不同的工件,这样我就可以维护两个不同的版本。
现在,为了将两个jar放在maven存储库中,我确保在build.gradle中添加以下代码。
artifacts {
archives A,B
}
一个解决方案是让两个不同的Gradle项目包含相关的类,每个项目产生自己的人工制品,但在我的情况下,这不是短期解决方案。我们已经有了这样的计划,但优先级不高。
答案 0 :(得分:2)
这些都记录在Gradle User Guide中。如果您使用的是“maven”插件,请参阅Multiple artifacts per project;如果您使用的是“maven-publish”插件,请参阅Publishing multiple modules。