1

我来自 Web 开发背景,经常参与使用 Lerna 处理 JavaScript 中来自同一存储库的多个包的项目。就目前而言,我需要在 Java 中重新创建其中的一些项目,并且需要知道如何在不使用 Lerna 和使用 Gradle 作为我们的构建工具的情况下做到这一点。

我的问题是关于如何在 Java 中处理包含多个包的大型存储库:

编辑:改写问题以符合指南。将下面的旧问题保留在旧答案中更有意义。

  1. 我是否需要像 Lerna 对 JavaScript 那样使用单独的工具来帮助管理 Java 中的包,或者是否可以使用 Maven 或 Gradle 等构建工具自行处理。
  2. 如果两个团队使用不同的构建工具,是否更容易因为他们的不同贡献而导致问题?
  3. 首先在一个存储库中维护多个 Java 包是否可行?


  1. 是否有任何包或插件已经在 J​​ava 中执行此操作?(我找不到任何东西。)
  2. 解决方案是否可能会在使用不同构建工具进行各种贡献的团队之间引起问题?(例如:Maven 和 Gradle)
  3. 首先在一个存储库中维护多个 Java 包是否可行?
  4. 问这个问题时,有什么我根本无法理解的吗?我是否朝着错误的方向寻找解决方案?
4

2 回答 2

3

在这个时间点,Java 项目管理的事实标准似乎是 gradle 和 maven 的组合(通过 gradle 插件)。

这两者的结合消除了对 Lerna 等工具的需求,因为它们允许开箱即用地配置本地依赖项。

设置多项目构建后,您可以将兄弟项目添加为依赖项,如下所示:

dependencies {
    compile project(':sibling')
}

如果您使用支持 gradle 的 IDE,例如Intellij IDEA,它会在您创建 gradle 项目时为您创建初始目录结构,并配置您通过其 UI 创建的新模块。稍微玩一下这个可能是个好主意,以便了解它是如何连接起来的。

于 2018-09-07T22:28:51.030 回答
0

Java 很好地处理了语言级别的包。我不明白这个问题。您可以创建不同的包/模块/等。在任何项目中。对于依赖项的构建管理,请使用 Maven 或 Gradle。

于 2018-09-07T22:30:09.180 回答