2012-08-22 31 views
7

我试图分叉一个已经在主存储库中的已停用的maven库。如何正确地分叉一个Maven项目?

这样做的时候遵循的指导方针是什么?

应该更改groupId/artifactId,以便它不会与已存在于maven存储库中的库发生冲突?

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

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

+0

的可能重复[使用何种版本的标签分叉Maven项目?( http://stackoverflow.com/questions/10415550/what-version-label-to-use-for-a-forked-maven-project) – javabrett

回答

3

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

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

+0

我会建议以一种特殊的版本字符串相同的方式。 – khmarbaise

+0

不,该项目将被发布到主Maven仓库。我不知道,但我猜如果我不改变groupId,新图书馆将会与旧图书馆发生冲突。也许我也应该添加一个后缀到artifactId。 –

+0

最好使用'1.0.0.custom'而不是'1.0.0-custom',否则Maven可能会混淆分类器。 – artbristol

8

Sonatype recommends当您分叉项目时更改groupId

B2)上传到在你的分叉项目 的groupId(大概是一个你自己的和适当的叉)

相关问题