【问题标题】:Deploy p2 repo to Nexus将 p2 存储库部署到 Nexus
【发布时间】:2014-05-16 08:29:43
【问题描述】:

我使用一些插件创建了自己的 p2 存储库。因此,我在本地使用 maven 生成了以下文件夹结构:

repository
   |- plugins
       |- myplugin1.jar
       |- myplugin2.jar
   |- features (empty)
   |- artifact.jar
   |- content.jar

我在将其部署到 nexus 时遇到问题。我想在 Eclipse 目标平台中将此 URL 用作站点。 请指出将 p2 存储库上传到 nexus 的步骤来帮助我。

我尝试了 mvn clean deploy 命令,但没有帮助,因为它没有将其部署为 p2 存储库。

【问题讨论】:

    标签: maven nexus p2


    【解决方案1】:

    你有两个选择:

    1) 不要将存储库部署到 nexus,而是将其复制并解压缩到网络服务器中。这是经典的方式,因为您的存储库完全符合您的要求。

    2) 安装Nexus Unzip Plugin,它使用特殊的“解压缩” URL 提供上传的存储库。

    作为替代方案,您可以安装 nexus-p2-repository-plugin,它基本上将您的整个存储库转换为 p2 存储库。

    【讨论】:

      【解决方案2】:

      您还可以结合 org.sonatype.plugins:maven-upload-plugin 和 Nexus nexus-unpack-plugin 从 Nexus 上传和分解您的更新站点 zip。

      1. repository.sonatype.org 安装适当的nexus-unpack-plugin:只需下载bundle.zip 并解压到sonatype-work/nexus/plugin-repository。重启 Nexus。
      2. Unpack 角色添加到您的部署帐户。
      3. 在 Nexus 中创建一个 Maven 站点来托管您的更新站点;这些本质上是文件区域。
      4. 将您的构建配置为使用org.sonatype.plugins:maven-upload-pluginm2e project 就是一个很好的例子。

      假设您使用 m2e 站点 pom.xml 作为骨架,那么您将调用 maven,如下所示:

      mvn -Ppublish-site-latest \
          -Dmy.site-serverSettingsId=my-server-setting \
          -Dmy.site-compressed=http://localhost:8081/nexus/service/local/repositories/my-site/content.compressed \
          install
      

      将您的 zip 上传到 Nexus 到 nexus-unpack-plugin,这会将其分解到配置的位置。请注意my.site-compressed 属性使用repositories 而不是site,因为nexus-unpack-plugin 仅匹配service/local/repositories(一个错误?),但它适用于网站。

      如果您收到 FORBIDDEN 或 UNAUTHORIZED 错误,则说明您没有正确设置 Unpack 权限。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-13
        • 2014-12-28
        • 1970-01-01
        相关资源
        最近更新 更多