如何在Nexus Repository Manager OSS 3

时间:2016-05-31 10:25:24

标签: repository nexus artifacts nexus3

安装Nexus Repository Manager OSS 3后,我没有看到通过网页上传工件的选项Artifact Upload

在Nexus Repository Manager OSS 2.13中,可以选择执行该操作。

任何人都可以告诉我如何在Nexus 3中将工件上传到托管存储库?

编辑从3.9.0版开始,此功能已实施。

8 个答案:

答案 0 :(得分:58)

我正在使用maven部署文件。

mvn deploy:deploy-file -DgroupId=my.group.id \
    -DartifactId=my-artifact-id \
    -Dversion=1.0.0.1 \
    -Dpackaging=jar \
    -Dfile=foo.jar \
    -DgeneratePom=true \
    -DrepositoryId=my-repo \
    -Durl=http://my-nexus-server.com:8081/repository/maven-releases/

更新: 如注释中所述,在url中使用引号导致NoSuchElementException

但是我在maven中添加了服务器配置(〜/ .m2 / settings.xml)。

<servers>
  <server>
    <id>my-repo</id>
    <username>admin</username>
    <password>admin123</password>
  </server>
</servers>

参考文献:

Maven Apache - Guide 3rd party jars

答案 1 :(得分:43)

目前,Nexus 3的用户界面尚未实现此功能(请参阅https://issues.sonatype.org/browse/NEXUS-10121)。 您需要使用curlmvn deploy或其他一些选项。

答案 2 :(得分:21)

您可以通过其本机发布功能(例如maven deploy,npm publish)上传工件。

您还可以将工件上传到&#34; raw&#34;存储库通过简单的卷曲请求,例如,

curl --fail -u admin:admin123 --upload-file foo.jar 'http://my-nexus-server.com:8081/repository/my-raw-repo/'

答案 3 :(得分:13)

这是自V3.0.0版以来在Nexus中实现的。

  • 登录
  • 选择上传

enter image description here

  • 填写表单并上传Artifact

enter image description here

答案 4 :(得分:3)

我的团队构建了一个命令行工具,用于将工件上传到nexus 3.x存储库,也许它会对您有所帮助 - Maven Artifacts Uploader

答案 5 :(得分:1)

我的团队使用 Gradle Nexus OSS 3.5.2

我找到了一个解决方案:从 locakhost 上传艺术品(我检查了Nexus文档但没有找到任何关于从文件夹上传工件的内容) =&gt; < / strong>我有共享目录(使用 Apache httpd )并连接一个目录以创建新的Nexus代理存储库。现在,当我想添加我自己的工件时,我可以将其上传到远程服务器的共享目录中。

也许有人发现我的解决方案很有用: enter image description here

我的问题在这里Is it possible to deploy artifacts from local folder in Sonatype Nexus Repository Manager 3.x

答案 6 :(得分:1)

对于Windows:

mvn deploy:deploy-file -DgroupId=joda-time -DartifactId=joda-time -Dversion=2.7 -Dpackaging=jar -Dfile=joda-time-2.7.jar 
-DgeneratePom=true -DrepositoryId=[Your ID] -Durl=[YourURL]

答案 7 :(得分:0)

要使用mvn deploy:deploy文件,必须添加〜。/ m2 / settings.xml

<settings>
  <servers>
    <server>
      <id>nexus-repo</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
</settings>

命令:

mvn deploy:deploy-file -DgroupId=com.example \
                                       -DartifactId=my-app \
                                       -Dversion=2.0.0 \
                                       -Dpackaging=jar \
                                       -Dfile=my-app.jar \
                                       -DgeneratePom=true \
                                       -DrepositoryId=nexus-repo \
                                       -Durl=http://localhost:8081/repository/maven-releases/