Gradle - 带有多个罐子的单元到Maven存储库

时间:2013-09-03 17:05:41

标签: maven gradle

我有一个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项目包含相关的类,每个项目产生自己的人工制品,但在我的情况下,这不是短期解决方案。我们已经有了这样的计划,但优先级不高。

1 个答案:

答案 0 :(得分:2)

这些都记录在Gradle User Guide中。如果您使用的是“maven”插件,请参阅Multiple artifacts per project;如果您使用的是“maven-publish”插件,请参阅Publishing multiple modules