将maven pom.xml上传到Git存储库?

Ern*_*nst 6 java git github pom.xml maven

我想在GitHub上发布我的Java项目.我不确定是否应该将我pom.xml的Maven 上传到我的存储库中.

我在没有eGit的情况下使用Eclipse.

一方面:

  • pom.xml是要知道我使用哪个库.

另一方面:

  • 这是一个配置文件,可能不应该公开.
  • 它破坏了一个干净的回购的外观,因为它超出了普通的源文件.

我该怎么办?

Tun*_*aki 8

  • 这是一个配置文件,可能不应该公开.

这是错的.POM确实是一个配置文件,但它是用于公开的.实际上,引用Maven指南将工件上传到中央存储库:

有些人问我们为什么要在POM中为部署的工件要求所有这些信息,所以这里有一个小的解释.与工件一起部署的POM是使传递依赖在Maven中成为现实的过程的一部分.获得传递依赖关系的逻辑确实不是那么难,问题在于获取数据.通过使所有POM可用于工件而实现的其他应用程序是巨大的,因此通过将它们作为流程的一部分放入存储库中,我们打开了涉及统一访问项目POM的新想法的大门.

如您所见,实际上需要此文件,以便可以将工件上载到Maven Central.

不应该公开的是你的设置,即settings.xml文件.您应该在此文件中存储任何敏感信息,例如密码.再次引用设置参考(强调我的):

文件中的元素包含用于定义值的settings元素,这些settings.xml值以各种方式配置Maven执行,例如pom.xml,但不应捆绑到任何特定项目,或分发给受众.这些包括诸如本地存储库位置,备用远程存储库服务器和身份验证信息之类的值.

如果您当前在POM中存储任何敏感信息,则应考虑重构它以提取此信息并将其放入您的设置中.


  • 它破坏了一个干净的回购的外观,因为它超出了普通的源文件.

一个源文件,Maven唯一的要求就是这个文件的存在.它描述了如何构建应用程序并声明其所有依赖项.换句话说:这个文件是一个Maven源文件,因此应该与项目主源文件一起提交.没有它,没有人可以构建你的应用程序,没有人也可以打包它.