86

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

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

任何人都可以向我展示如何将工件上传到 Nexus 3 中的托管存储库?

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

4

8 回答 8

82

我正在使用 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 - 引导 3rd 方 jars

于 2016-09-28T20:31:06.443 回答
43

这目前没有在 Nexus 3 的 UI 中实现(请参阅https://issues.sonatype.org/browse/NEXUS-10121)。您需要使用curlormvn deploy或其他选项。

于 2016-06-06T18:39:34.637 回答
28

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

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

curl --fail -u admin:admin123 --upload-file foo.jar 'http://my-nexus-server.com:8081/repository/my-raw-repo/'
于 2016-05-31T13:30:34.203 回答
27

这是自 3.9.0 版以来在 Nexus 中实现的。

  • 登录
  • 选择上传

在此处输入图像描述

  • 填写表格并上传工件

在此处输入图像描述

于 2018-03-08T12:11:18.780 回答
3

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

于 2017-07-06T17:56:53.893 回答
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]
于 2019-01-07T08:04:33.823 回答
1

我的团队使用GradleNexus OSS 3.5.2

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

也许有人发现我的解决方案很有用: 在此处输入图像描述

我的问题在这里是否可以从 Sonatype Nexus Repository Manager 3.x 中的本地文件夹部署工件

于 2018-01-28T11:45:14.780 回答
0

要使用 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/
于 2020-06-29T11:42:13.410 回答