【问题标题】:How to properly fork a maven project?如何正确分叉一个Maven项目?
【发布时间】:2012-08-22 08:56:54
【问题描述】:

我正在尝试 fork 一个已经在主存储库中已停产的 maven 库。

这样做时要遵循哪些好的准则?

是否应该更改 groupId/artifactId 以使其不会与 maven 存储库中已经存在的库发生冲突?

这个库将是一个项目的依赖项,该项目也将公开(在 maven 存储库中),所以这个库也应该在那里。

这些修改对库的工作方式进行了改进和一些更改,因此我希望它与旧版本分开。

【问题讨论】:

标签: maven


【解决方案1】:

Sonatype recommends 在你 fork 项目时更改 groupId

B2) 将它们上传到您的分叉项目下 groupId(可能是您拥有并适合 fork 的)

【讨论】:

    【解决方案2】:

    我假设您正在分叉另一个项目以供内部使用?然后我会保留原来的 groupId/artifactId,但在版本中添加一个后缀。如果上游版本是 1.0.0,您的自定义版本将是 1.0.0-custom。

    如果您创建一个公共分叉,那么您基本上必须使用一个新的项目名称和一个新的 groupId/artifactId。

    【讨论】:

    • 我建议使用特殊版本的字符串。
    • 不,项目将发布到主 maven 存储库。我不知道,但我猜如果我不更改 groupId,新库将与旧库发生冲突。也许我还应该为 artifactId 添加一个后缀。
    • 最好使用1.0.0.custom而不是1.0.0-custom,否则Maven可能会与分类器混淆。
    • @artbristol 这是一个有趣的观点,但我认为使用分类器实际上是一种更好的方法。这是官方docu。版本格式应采用 x.y.z-classifier 格式,以确保正确比较它们。如果这是一个问题,这也与semver 的格式相匹配。但是,如果您知道任何具体的问题,我很想知道。
    • 我在将自定义版本上传到 Nexus 时遇到问题,它会自动检测分类器并将其从版本中删除。您显然可以解决它。
    猜你喜欢
    • 2012-03-01
    • 1970-01-01
    • 2012-09-08
    • 2013-06-03
    • 2020-05-10
    • 1970-01-01
    • 2015-03-15
    • 2017-12-26
    • 1970-01-01
    相关资源
    最近更新 更多