如何在 Nexus Repository Manager OSS 3 中手动部署工件

How to manually deploy artifacts in Nexus Repository Manager OSS 3

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

在 Nexus Repository Manager OSS 2.13 中有执行该操作的选项。

谁能告诉我如何将工件上传到 Nexus 3 中的托管存储库?

编辑从 3.9.0 版本开始,实现了此功能。

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

您还可以通过简单的 curl 请求将工件上传到 "raw" 存储库,例如

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

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

我正在使用 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

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

我的团队使用 GradleNexus OSS 3.5.2,

我找到了 解决方案:从 localhost 上传工件(我检查了 Nexus 文档,没有发现任何关于从文件夹上传工件的信息) => 我有共享目录(使用 Apache httpd)并将其中一个连接到创建的新 Nexus 代理存储库。现在,当我想 添加 我自己的 工件时 我可以将它们上传到远程服务器的共享目录中。

也许有人觉得我的解决方案有用:

我的问题在这里

这在 Nexus 3.9.0 版本后实现。

  • 登录
  • Select上传

  • 填写表格并上传 Artifact

对于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]

要使用 mvn deploy:deploy-file,必须添加 ~./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/