JDeveloper 似乎与 Sonartype Nexus Repository Manager(版本 OSS 3.41.1-01)存在兼容性问题。
我将此索引页面配置为“索引更新 URL”:
https://myserver/service/rest/repository/browse/maven-releases/.index
此页面可用,它看起来与此处可用的 Maven Central 索引类似:
https://repo.maven.apache.org/maven2/.index
如果我单击“测试连接”按钮,JDepeloper 会报告“连接到索引更新 URL 失败”
JDeveloper 可以处理 Maven Central 索引,但不能处理我的 Nexus Repository Manager 生成的索引。
Nexus Repository Manager 的索引页面只是索引的 HTML 表示形式。
https://myserver/service/rest/repository/browse/maven-releases/.index
JDeveloper 不会分析 HTML 页面,而只是在 URL 后面附加预期的文件名。它的工作原理如下:
https://myserver/service/rest/repository/browse/maven-releases/.index
+ /nexus-maven-repository-index.gz
这个结果是错误。 HTML 页面引用的文件位于另一个路径下。这些是正确的网址:
解决方案是在 JDev 首选项中输入以下 URL 作为“索引更新 URL”:
https://myserver/repository/maven-releases/.index
如果直接访问该URL,则会返回404。但这不是问题。 JDeveloper 使用此 URL 作为前缀来创建正确的 URL。
如果您想查看 JDeveloper 内部发生的情况,请使用调试模式:
cd JDEV_HOME\jdeveloper\jdev\bin
jdev -J-Djavax.net.debug=all
上面的命令将日志打印到控制台。可以将日志记录重定向到文件:
jdev -J-Djavax.net.debug=all >jdeveloper.log