Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven存储库标准-版本和快照_Maven_Repository - Fatal编程技术网

Maven存储库标准-版本和快照

Maven存储库标准-版本和快照,maven,repository,Maven,Repository,我的团队目前正在采用maven方法进行项目构建和依赖关系管理 我是否需要创建快照repo和发布repo?鉴于pom文件的写入方式似乎可以忽略快照,这是否有必要 <repository> <releases> <enabled>true</enabled> <checksumPolicy>warn</checksumPolicy> </releases> <snapsho

我的团队目前正在采用maven方法进行项目构建和依赖关系管理

我是否需要创建快照repo和发布repo?鉴于pom文件的写入方式似乎可以忽略快照,这是否有必要

<repository>
  <releases>
   <enabled>true</enabled>       
   <checksumPolicy>warn</checksumPolicy>
  </releases>
  <snapshots>
   <enabled>false</enabled>      
   <checksumPolicy>fail</checksumPolicy>
  </snapshots>
  ...
 </repository>

真的
警告
假的
失败
...
我还对存储库管理的任何方法感兴趣,例如每个项目单独的回购或许多小型存储库(第三方回购、内部回购)等


谢谢

使用独立存储库的主要原因是可能会出错。如果快照回购中出现错误,您可以简单地删除并重建它。举手之劳此外,由于您将一直使用快照回购,因此您更有可能了解所有不应该以低成本完成的事情(犯了错误?只需删除它)

有了这些经验,您就可以更好地准备成功部署到发布回购。发行回购协议最重要的一点是,修复其中的错误非常困难,有时甚至是不可能的。您不能简单地删除或重新上传内容,因为所有客户端都会忽略对它们已经拥有的工件的更改。因此,您始终只能添加到发行回购中

我在第三方回购方面也有很好的经验,因为它们将来自不同来源的东西分开

为了避免在所有POM中有500个不同的存储库,您必须将它们移动到每个人都必须使用的共享父POM中,或者使用一个repo服务器,例如可以在单个URL下捆绑多个repo

这意味着:所有客户端将使用单个URL下载工件。部署到代理服务器时,使用两个URL(一个用于快照,一个用于发布)


注意:上面的代码片段包含一个错误:
never
对于快照是错误的()

通常整个公司只有一个存储库管理器(例如nexus)。经理将管理快照、发布和第三方人工制品的不同回购协议

存储库配置通常在父pom公司中设置

Repository manager还允许缓存来自中央和第三方存储库的人工制品,以节省使用成本并缩短访问时间


请看

这里面有问题吗?我找不到:-)是的,问题是这是否是一种标准方法,来自pom的xml是否意味着您不需要快照和发布存储库,以及询问人们如何安排存储库,你想让我重写这个问题吗?不需要重写,但编辑它,并在底部明确说明你想知道的内容。谢谢你简洁的回答,并准确地告诉了我需要知道的内容。我感谢你的时间和努力。几天前我发布的另一个问题的答案中的XML片段与Maven有关,感谢您指出其中的错误。