- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在尝试使用 REST API 创建新的 Sonatype Nexus 托管存储库时,我收到“HTTP/1.1 400 错误请求”。我正在使用本地运行的 Sonatype Nexus™ 2.10.0-02。
根据 REST API 文档,可在以下位置获取
http://localhost:8081/nexus/nexus-restlet1x-plugin/default/docs/path__repositories.html
要创建新存储库,POST 请求必须如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<repository>
<data>
<format>...</format>
<providerRole>...</providerRole>
<exposed>...</exposed>
<id>...</id>
<name>...</name>
<contentResourceURI>...</contentResourceURI>
<repoType>...</repoType>
<provider>...</provider>
</data>
</repository>
所以,我的 XML 有效负载如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<repository>
<data>
<format>maven2</format>
<providerRole>org.sonatype.nexus.proxy.repository.Repository</providerRole>
<exposed>true</exposed>
<id>my-releases</id>
<name>MyReleases</name>
<contentResourceURI>http://localhost:8081/nexus/content/repositories/my-releases</contentResourceURI>
<repoType>hosted</repoType>
<provider>maven2</provider>
</data>
</repository>
到目前为止(我希望)没问题。
我使用 cURL 来发布此 XML 内容:
curl -i -H "Accept: application/xml" -H "Content-Type: application/xml" -f -X POST -v -d "@$(pwd)/insert_oss_repository.xml" -u admin:admin123 http://localhost:8081/service/local/repositories
该命令的完整日志是这样的:
* Hostname was NOT found in DNS cache
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8081 (#0)
* Server auth using Basic with user 'admin'
> POST /nexus/service/local/repositories HTTP/1.1
> Authorization: Basic YWRtaW46YWRtaW4xMjM=
> User-Agent: curl/7.35.0
> Host: localhost:8081
> Accept: */*
> Content-Type:application/xml
> Content-Length: 327
>
* upload completely sent off: 327 out of 327 bytes
< HTTP/1.1 400 Bad Request
< Date: Mon, 20 Oct 2014 19:19:21 GMT
* Server Nexus/2.10.0-02 is not blacklisted
< Server: Nexus/2.10.0-02
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< Set-Cookie: rememberMe=deleteMe; Path=/nexus; Max-Age=0; Expires=Sun, 19-Oct-2014 19:19:21 GMT
< Content-Type: application/xml; charset=UTF-8
< Date: Mon, 20 Oct 2014 19:19:21 GMT
* Server Noelios-Restlet-Engine/1.1.6-SONATYPE-5348-V8 is not blacklisted
< Server: Noelios-Restlet-Engine/1.1.6-SONATYPE-5348-V8
< Content-Length: 183
<
<nexus-error>
<errors>
<error>
<id>*</id>
<msg>No enum const class org.sonatype.nexus.proxy.maven.RepositoryPolicy.null</msg>
</error>
</errors>
* Connection #0 to host localhost left intact
</nexus-error>
首先,我会阅读您关于我的 POST 请求的 XML 负载的评论。其次,如果他们花时间创建某种文档,为什么他们不提供一个有效的示例呢?第三,如果他们提供了此 REST API,为什么他们不以人类可读的答案进行响应?
最佳答案
看起来文档中可能存在错误,您还需要提供“repoPolicy”元素。这是一个示例有效负载:
<repository>
<data>
<id>my-releases-xml</id>
<name>MyReleasesXml</name>
<exposed>true</exposed>
<repoType>hosted</repoType>
<repoPolicy>RELEASE</repoPolicy>
<providerRole>org.sonatype.nexus.proxy.repository.Repository</providerRole>
<provider>maven2</provider>
<format>maven2</format>
</data>
</repository>
一般来说,使用 Nexus 和 REST 的最佳方法是使用 JSON 有效负载,这些有效负载很容易发现,因为 UI 通过 REST 层调用并发送 JSON。请参阅此处了解更多信息:
http://blog.sonatype.com/2012/07/learning-the-nexus-rest-api-read-the-docs-or-fire-up-a-browser/
关于rest - 使用 REST API 创建 Sonatype Nexus 存储库导致 HTTP/1.1 400 错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26473627/
有人使用过Sonatype Insight-Application Health Checker吗?它要求您扫描应用程序(war、jar、zip 等),然后将其结果上传到Sonatype Insigh
Sonatype Nexus 使用 镜像地址: https://hub.docker.com/r/sonatype/nexus 注意: -v映射的容器目录nexus2跟nexus3是有区别,且访问
Sonatype Nexus3 镜像地址: https://hub.docker.com/r/sonatype/nexus3 注意: -v映射的容器目录nexus2跟nexus3是有区别,且访问地
我遇到了无法解决的问题。 我买了一个便宜的vps,用ubuntu 12.10然后安装了tomcat7、maven和nexus。所有这些都是最新的。这是一个全新的安装。我启动并部署了nexus,cata
我们使用 Sonatype Nexus 来管理不同的存储库。有一个请求将受密码保护的存储库添加到我们的“公共(public)存储库”组。问题是,我真的不知道如何做到这一点。 我可以创建一个新的 rep
我正在使用本地 Sonaty Nexus,我在其中代理了几个外部 Maven 存储库。到目前为止,代理只有 http 存储库,但对于某些 Artifact ,我不得不引入 Camunda .使用 Ne
我正在尝试获取可用于 org.atmosphere 的 Atmosphere 快照版本,但似乎无法获取... oss.sonatype.org-snapshot
我正在尝试为我的公司建立一个新的构建环境,他们对他们愿意在第三方产品中接受哪些许可证有严格的规定,而 GPL 不在批准的列表中。 我认为 MavenCentral 上只有极少数模块是 GPL,但存在一
我正在努力将SNAPSHOT Artifact 上传到Sonatype oss。我可以上传 Artifact :https://oss.sonatype.org/content/repositorie
我似乎找不到有关如何通过Docker容器名称设置内容选择器的文档。 我试图找到名称中带有“_api”的所有容器: format == "docker" and name =~ "_api" 这似乎不起
在我的内部 Sonatype Nexus 中,存储库(例如 Codehaus 快照)的路由选项卡上写着 --- Publishing --- | Status: Not published |
我安装了 Sonatype Nexus,我有默认用户 admin/admin123。现在我将 Authenticating Realm 更改为 LDAP 并删除了 XML Authenticating
我们正在为我们的公司项目使用 Sonatype Nexus 托管我们自己的私有(private) Maven 存储库。现在我们的客户想要参与开发我们的新项目,该项目依赖于我们 Nexus 服务器上的一
我通过Maven By Example学习了Maven 。在第 4 章中,要求使用原型(prototype)插件( Find it here )生成 Maven 项目。我一直在尝试使用 Mvn arc
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 4年前关闭。 Improve this questi
我使用 Sonatype Nexus 作为 Docker Registry,一段时间后,它变得非常大(每个 CI 构建的新图像和一些旧项目)。 我尝试使用“清除未使用的 docker list 和图像
我使用的是 Sonatype Nexus OSS 3.2 版。谁能指导我如何自定义 Nexus 运行的端口? 我找不到任何配置文件来自定义端口和自定义上下文路径? 目前 Nexus 正在运行 http
我正在尝试使用 docker 安装 sonatype-nexus 并希望共享 docker /opt/sonatype-work nexus repo 与主机 (linux ubuntu 14.04)
我使用sonatype nexus进行Maven存储库处理。 我们的项目需要使用http://jcenter.bintray.com/存储库。 但是,如果我将jcenter添加为我们的nexus服务器
我在 LAN 中部署了 sonatype nexus 服务器,将一些远程存储库映射到我的公共(public)存储库: alt text http://img576.imageshack.us/img5
我是一名优秀的程序员,十分优秀!