3

不要精通 Nexus 管理....

“手动”上传工件时,打开控制台查看网络调用。想跳过使用 Maven 或 Ivy 上传到 Nexus。一切明智的查询都通过 ExtJS XHR 调用,除了在 Chrome 开发人员工具中显示为 Documents 调用的工件信息的发布(假设这是通过 ExtJS 发出的表单提交)。

没有尝试使用 curl 进行模拟(如果可能,不知道如何在 curl 中处理多部分表单),但这是除了从 Ivy 或 Maven 进行传统发布之外“发布”工件的唯一方法吗?看起来 Nexus 有一个 Java API,但希望留在 REST HTTP 世界中(希望 Nexus REST 服务基本上使用 apache 的 HTTPCLIENT 之类的多部分表单发布)。

4

2 回答 2

18

使用卷曲:

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 。

于 2013-10-31T05:58:36.877 回答
0

从 Sonatype 找到这个回复:

简而言之,可以直接 POST 工件,但是 Maven 模块所需的其他文件呢?最重要的是 POM...

上传文件最简单的方法是使用 deploy-file 插件:

将工件上传到 Nexus,无需 Maven

不使用 Maven 客户端是否有令人信服的理由?

于 2012-06-14T23:07:30.810 回答