《Maven官方指南》 迁移引导

原文链接

迁移引导

有时候在仓库中迁移工件是很重要的事情。例如一个项目从Maven 1 转 Maven 2。Maven 1 项目传统上使用扁平存储结构,而使用Maven 2使用的深度结构。作为一个例子Maven 1 项目有一个 maven组,而Maven 2的项目中有 org.apache.maven 的组。

制造改变了仓库可以说有很深远的影响。所以最好是第一时间获取正确,它将通过一组不同类型的迁移。

  • Maven 1 to Maven 2
  • Maven 2 to Maven 2
  • Maven 1 to Maven 2

下面的目标是将groupId bar迁移 org.barfoo项目。

怎么样迁移 Maven 1 工件到一个不同的组

  1. 在你的Maven 1 仓库拷贝从/bar/所有foo的相关文件到另外一个临时目录。
  2. 在一个临时目录的foo相关文件中改变组到 org.bar
  3. 如果你的项目使用的MD5或者SHA1校验,你必须使用新的校验去更改暂时未知的pom文件。如果pom文件需要签署,这样做是有效的。
  4. 从临时目录的Maven 1 仓库中的拷贝所有文件到 /org.bar/
  5. 如果你的项目同步到书志目录,你现在应该开始同步它。 你的foo工件是现在可以用于Maven 1用户,可用于老的和新的组。

发布下一个版本

当下一个版本的foo被创建,你发布Maven 1 pom一直在做的事情。不幸的是Maven 1 没有自动定位和通知的概念,所以你将不得不通过正确的消息渠道来通知你的用户去改变组id

怎么迁移一个Maven 2 工件到一个不同的组

  1. 在你的Maven 2 仓库拷贝从**/bar/所有foo**的相关文件到另外一个临时目录。
  2. 在一个暂时位置的foo相关文件中改变组到 org.bar
  3. 从临时目录拷贝中拷贝所有文件到你的Maven 2仓库的 /org/bar/foo路径
  4. 给每一个老版本的foo创建一个迷你的Maven 2 pom文件在你的Maven 2仓库中。pom文件只需要包含groudId,artifactId,version 和搬迁部分。 笔记: 在用最小的pom文件替换你在**/bar/foo**的旧文件之前,你确保已经做好了备份! 最小的pom文件可能看起来像 1.0版本的foo:
<project>
      <modelVersion>4.0.0</modelVersion>
      <groupId>bar</groupId>
      <artifactId>foo</artifactId>
      <version>1.0</version>
      <distributionManagement>
        <relocation>
          <groupId>org.bar</groupId>
        </relocation>
      </distributionManagement>
</project>

在这个我们迁移的例子,因为组已经改变了。我们只需要增加已经改变relocation节点。有关在relocation节点中允许哪些元素的信息,看pom引用

5.如果你项目使用MD5或者SHA1加密的,你现在可以使用新的加密方式创建pom文件在你的Maven 2仓库的**/bar/foo**。如果pom需要被签署,这样做很有效。 6.如果你的项目同步ibiblio,你应该现在启动同步。这可能自动依赖你项目的策略。

你的foo工件是现在可以用于Maven 2用户,可用于老的和新的组。项目使用老的组将会自动指向新的组合和警告用户更新他们的依赖关系。

发布下一个版本

当下一个版本的foo被制造,你一个发布两个Maven 2文件。首先你应该发布一个新组的org.bar的pom。

因为数据在仓库中不改变,当文件已经存在了Maven 2就不能下载pom文件。因此你将需要发布一个老组的新版本的bar。这应该是一个最小的迁移pom(作为上面第四点的描述),但是作为新版本的foo。

作为发布一个版本,你只需要发布一个组为 org.bar的Maven 2 pom文件。因为上一个版本用户已经获得改变的组id。

怎么通过一个不同的组迁移一个Maven 1的工件到Maven 2工件?

只有有趣的组织(就好比Apache软件组织)才会自动将他们的Maven 1仓库转为Maven2仓库。 根据上面的步骤4到6,就可以知道怎么迁移一个Maven 2工件到一个不同的组。

发布下一个版本

当下一个版本的foo被制造,你应该发布 Maven 1 pom正如你一直做的。除此之外,你应该发布一个组为bar的Maven 2 pom文件,版本为下一个版本和迁移部分。这步骤可以作为一个项目的第一次发布,在组id已经改变之后,但是你用户将更开心如果你花更多的时间。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》 迁移引导

FavoriteLoading添加本文到我的收藏
  • Trackback 关闭
  • 评论 (0)
  1. 暂无评论

您必须 登陆 后才能发表评论

return top