你会把jar文件放到GitRepo上吗?或者只在pom.xml中定义它?

你会把jar文件放到GitRepo上吗?或者只在pom.xml中定义它?,git,jakarta-ee,maven,version-control,nexus,Git,Jakarta Ee,Maven,Version Control,Nexus,使用maven来管理JavaEE项目,并将所有jar依赖项放在pom.xml中,这样您就不需要将这些大型jar文件添加到git版本控制repo中 这非常好,尤其是当所有依赖项都在maven central repo中时 如果maven central repo没有包含一些jar库,您会将这些jar库添加到git repo吗?或者您只将这些文件上载到本地nexus服务器?(无论如何,如果有一天你没有使用本地nexus服务器,这就不好了) 那么,将jar文件放到git repo中,您的选择是什么呢?

使用maven来管理JavaEE项目,并将所有jar依赖项放在pom.xml中,这样您就不需要将这些大型jar文件添加到git版本控制repo中

这非常好,尤其是当所有依赖项都在maven central repo中时

如果maven central repo没有包含一些jar库,您会将这些jar库添加到git repo吗?或者您只将这些文件上载到本地nexus服务器?(无论如何,如果有一天你没有使用本地nexus服务器,这就不好了


那么,将jar文件放到git repo中,您的选择是什么呢?或者只在pom.xml中定义它?当maven的central repo中不包含这样的jar库时。

我认为在本地Nexus存储库中保留依赖项(并在pom.xml中定义它)的最佳方法是版本控制系统。

如果本地服务器不是一个选项,那么您可以使用git发布依赖项

以下是url的示例:

回购协议的内容应从本地maven存储库复制:

显然,您将代码托管在github中,并从公司内部网中不经常存在的位置使用它。基本上,您可以使用以下解决方案:

  • 在您自己的公共服务器上托管nexus(或类似)存储库,并进行身份验证。这样,无论您想从哪里访问,都可以访问它。例如,它也可以在上完成
  • 使用一些免费、开放、托管的解决方案。例如,开源项目的免费托管
  • 同样,您可以-不要将其存储在代码回购中,而是为其创建一个单独的项目
  • 或者。。只需支付托管费用。如果你愿意付费,应该有一些受支持的解决方案
  • 这些都应该适合你。从您描述情况的方式来看,选项3可能是您想要的。在任何情况下,都可以将它们放在代码存储库之外的其他地方

    编辑:可能我也忽略了封闭源代码开发的最不言自明的解决方案,所以这将是一个备选方案5。发件人:

    在这种情况下,最明智的做法是将 防火墙后面的存储库,允许外部人员访问 通过VPN访问它。您可以设置一个可公开访问的 要求所有用户提供某种凭据的服务, 但是,为什么要向外部世界开放存储库(以及所有风险) 这意味着)当你真的不需要任何人从你的外部 组织使用它?当然,假设你有一个VPN,但是如果 如果你有远程员工,你可能应该有一个VPN,这样他们就可以 安全地访问您的内部服务


    如果您的回购协议不是公共回购协议,这听起来很合理。

    但有时您可能外出,无法连接到该服务器,更糟糕的是,几年后,本地回购协议不再存在,那么,既然mvn只能获取其中心服务器包含的jar库,那么如何构建代码呢repo@hugemeow同样好的是,有一天你可能没有你的存储库。这就是为什么你应该小心保管它们的原因。这并没有改变这样一个事实,即这是最推荐的解决方案,并且将它们保持在同一git repo上有很大的缺点。@eis有时我无法连接到我的本地repo,例如,我不在公司内部,所以最好将这些jar文件放在git repo上?@Hugemow maven始终将文件存储在本地maven repo中,因此,即使您不在网络中,只要您在网络中下载依赖项,它也可以工作。请参阅命令
    mvn dependency:go offline
    @hugemow you's not make only:)
    mvn dependency:go offline
    用于存储任何联机maven依赖项,以便它们可以脱机工作。如果你使用新的个人电脑,他们也不会有git回购协议,对吗?如果他们愿意,那么他们也可以获得本地maven回购协议。如果您有一些坚持在git回购中存储LIB的原因,您可以这样做,但绝对不推荐这样做。你可以随意忽略这些建议,但是如果你想的话。无法打开,那么你会将你的jar库包含到git repo中吗?是的,你不能打开目录内容,但是当maven获得具有完整路径的依赖项时,它们是可用的:只需克隆项目并尝试使用maven或sbt进行构建,看看它是如何工作的都德,你把jar文件放到git repo中,您的决定与eis完全不同。选项3并没有那么好,因为快照和发行版应该在Maven存储库中分开保存,这意味着我应该在github上托管所有LIB,这可能太大了,我只想托管不在Maven中央repo中的jar LIB