2016-05-31 63 views
47

安装Nexus Repository Manager OSS 3后,我看不到选项Artifact Upload可通过网页上传工件。如何在Nexus Repository Manager中手动部署工件OSS 3

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

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

+1

在我的答案[这里](http://stackoverflow.com/a/40130685/2614103)我解释了两种方法 - 对于http和https。 – grajsek

+14

为什么他们会忽略这个重要的功能? –

+8

由于上传GUI仍不是Nexus 3的一部分,因此我们创建了一个轻量级解决方案来提供缺少的界面。您可以在Nexus3实例的原始存储库中托管一个html页面,当您从浏览器访问该页面时,它将提供一个类似于Nexus2中的上传GUI。该项目可以在[GitHub](https://github.com/TOPdesk/nexus3-artifact-upload)上找到,并提供详细的文档。此答案时发布的版本也支持GAV样式和原始上传。 –

回答

17

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

您还可以通过简单的卷曲请求将制品上传到“原始”存储库,例如,

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

是的,我可以通过'mvn deploy'来完成这个任务,它完美的工作,但我没有意识到他们从最新的'Nexus'中删除了'Artifact Upload'选项。 –

+1

@PawełGłowacz在3.x上传功能的Jira问题在这里:https://issues.sonatype.org/browse/NEXUS-10121 – mvreijn

40

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

UPDATE: 由于使用引号网址原因NoSuchElementException异常

评论说,但我有我的行家(〜/ .m2目录/ settings.xml中)添加服务器配置。

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

参考文献:

Maven Apache - Guide 3rd party jars

+0

我是否必须启用或安装任何要部署的东西?当我尝试时出现以下错误: 2016年11月29日上午11:27:31 org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec执行 信息:I/O异常(java。 net.SocketException)处理请求时收到{} - > http://127.0.0.1:8081:破管 等等... –

+0

不支持纯粹的maven。你有代理吗?也许你需要忽略localhost/127.0.0.1那里/或者这个IP和端口是否正确?我会研究其他的解决方法来解决这个问题。 – bpedroso

+0

我认为问题在于我使用的是Nexus 3,而不是Nexus 2. –

2

我的团队建立了一个命令行工具上传文物承上启下3.x的知识库,也许这将有助于你 - Maven Artifacts Uploader

+0

但仅限Windows用户? – TOUDIdel

+0

在这一刻,是的 –

1

我的团队使用GradleNexus OSS 3.5.2,

我已经发现一个溶液:从locakhost上传artyfacts(I检查的Nexus文档,并没有发现任何关于从文件夹上传工件)=>我已经共享目录(使用apache httpd的)和连接的一个创建新的Nexus代理存储库。现在当我想我自己的工件我可以上传到我的远程服务器共享目录。

也许有人觉得我的解决方案有用: enter image description here

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

0

这在的Nexus版本3.9.0实现。

+1

真的吗?你只需要用一个班轮回答一个老问题。 –

+0

这不提供问题的答案。一旦你有足够的[声誉](https://stackoverflow.com/help/whats-reputation),你将可以[对任何帖子发表评论](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提问者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [来自评论](/ review/low-quality-posts/19045450) – n2o

+0

对不起,格兰特,我想评论它,但我没有足够的声望。我认为像这样的答案就像关闭这个线程。我应该删除这个答案吗? –