maven - Fork 一个项目,Maven 到 Bintray 使用什么 groupId?

标签 maven bintray jcenter

我想使用一个已废弃的开源(apache2)库,但我需要对其进行一项更改。我提交了拉取请求,并向作者发送了电子邮件,但他们没有回复。该项目的最后一次提交是在 6 个月前。因此,我正在考虑放弃它,并用我的更改 fork 了该项目。

我想将它托管在 Bintray 和 jcenter 上,以便可以通过 gradle 使用它。我不确定在 Maven 配置文件中为“groupId”和“artifactId”使用什么值:

<metadata>
  <groupId>com.originalauthor</groupId>
  <artifactId>fast-cars-awesome</artifactId>
  ...
</metadata>

原作者已经使用上述值将其托管在 Bintray + jcenter 上。

我应该将 groupId 更改为我自己的值,而保留 artifactId 吗?我只是不想和他们在那里发生碰撞。

一个后续行动 - 我没有修改库的内部 java 文件中任何文件的包命名 - 我认为我可以保留这些文件而不会出现与此任务相关的任何问题。

谢谢

最佳答案

您应该能够执行您想要的操作,但您需要更改 groupId。您不是 com.originalauthor。即使 jcenter 允许您使用旧的 groupId 进行发布,这样做也可能是不好的形式。

对于 artifactId,您应该保持原样。保持名称相同将有助于其他人找到您的 fork 。

最后,您可能应该修改原作者的版本,让其他人知道您所做的更改,并且如果有的话,您应该提供一个新的项目 URL。

保留包/类/变量名称相同就可以了,如果不更改 API,您绝对不想更改公共(public)名称。

关于maven - Fork 一个项目,Maven 到 Bintray 使用什么 groupId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37034854/

相关文章:

android - Bintray和jCenter并未真正自动同步其更改

android - 无法获取 'https://jcenter.bintray.com/com/google/' 从服务器 : Bad Gateway 收到状态代码 502

android - 指定了出版物,但项目 :library 中不存在出版物

android - 如何做 Cucumber Android 集成测试?

java - 通过包含另一个属性文件来扩展属性文件。 maven

gradle - Jcenter 链接到私有(private)托管的存储库

android - 无法 HEAD 'https://jcenter.bintray.com/com/facebook/react/react-native/maven-metadata.xml' 。从服务器 : Bad Gateway 收到状态码 502

android - 更改 Android Studio build.gradle 的默认值

java - Hibernate : Class not found error (java. lang.NoClassDefFoundError),尽管在 Maven 中添加了依赖项

maven - 如何在 Gradle 中排除与分类器(平台版本)的依赖关系?