不要擅长Nexus管理......
在“手动”上传工件时打开控制台以查看网络调用。想要跳过使用Maven或Ivy上传到Nexus。一切查询都通过ExtJS XHR调用,除了发布工件信息,这些信息在Chrome开发者工具中显示为文档调用(假设这是通过ExtJS发布的表单提交)。
没有尝试使用curl进行模拟(如果可能的话,不知道如何在curl中处理多部分表单)但这是除了从Ivy或Maven进行传统发布之外“发布”工件的唯一方法吗?看起来Nexus有一个Java API但希望保留在REST HTTP世界中(希望Nexus REST服务基本上可以使用apache的HTTPCLIENT等多部分表单发布)。
答案 0 :(得分:18)
使用curl:
curl -v \
-F "r=releases" \
-F "g=com.acme.widgets" \
-F "a=widget" \
-F "v=0.1-1" \
-F "p=tar.gz" \
-F "file=@./widget-0.1-1.tar.gz" \
-u myuser:mypassword \
http://localhost:8081/nexus/service/local/artifact/maven/content
对于不使用maven的人来说,这将适用于非java依赖项。请参阅我对此答案的评论:https://stackoverflow.com/a/19699327/231573。
答案 1 :(得分:0)
从Sonatype发现此回复:
简而言之,可以直接POST工件,但是Maven模块需要的其他文件呢?最重要的是POM ...
上传文件的最简单方法是使用deploy-file插件:
Upload artifacts to Nexus, without Maven
是否有令人信服的理由不使用Maven客户端?