2

我有一个 Gradle 项目,它在构建时会根据某些规则(如 A、B 和 C 类转到 A.jar、D、E 和 F 类转到 B.jar 等)创建多个 Jar 文件。

现在我想将这些 Jar 文件上传到 Maven 存储库中。虽然我能够做到,但我想将这些罐子中的每一个作为独立的工件放在 Maven 存储库中。

例如:现在如果我有一个名为 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 项目包含相关类,并且每个项目都产生自己的人工制品,但在我的情况下,这不是短期解决方案。我们已经计划了类似的事情,但优先级较低。

4

1 回答 1

2

这一切都记录在Gradle 用户指南中。如果您使用“maven”插件,请参阅每个项目的多个工件,如果您使用“maven-publish”插件,请参阅发布多个模块。

于 2013-09-04T06:09:56.183 回答