将p2 repo部署到Nexus

时间:2014-04-04 07:01:29

标签: maven nexus p2

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

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

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

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

2 个答案:

答案 0 :(得分:1)

这里有两个选项:

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

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

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

答案 1 :(得分:-1)

您还可以合并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就是一个很好的例子。
  5. 假设你使用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(一个错误?),但它适用于网站。< / p>

    如果您收到FORBIDDEN或UNAUTHORIZED错误,则表示您未正确设置解包权限。