我在这里运行了一个特定于公司的Nexus服务器版本3;我已经上传了一个jar的快照版本,它依赖于另一个项目。我们使用Gradle 3进行构建和上传。在nexus浏览器上,我可以看到Snapshot jar文件,它的.pom文件和元数据xml文件也在那里。
从Gradle中的调试输出中我可以看到[project]/[version]-SNAPSHOT/maven-metadata.xml
已被接收和处理,因为它然后通过从xml文件中的数据构造时间戳版本名称来尝试查找最新的jar文件。
Gradle然后尝试使用类似[project]/[version]-SNAPSHOT/[project]-[version]-20161212.012547-3.pom
的URL从nexus获取.pom和.jar文件,Nexus返回404.相关的jar文件也是如此。
我将日志中的url带入浏览器并返回404状态。更改网址,以便它显示[project]/[version]-SNAPSHOT/[project]-[version]-SNAPSHOT.pom
然后我得到一个200 OK加pom文件,相应的jar文件相同。
所以我现在想知道,这是Gradle Maven存储库处理,Nexus 3服务器还是gradle构建文件中的错误?
答案 0 :(得分:0)
我认为这不是Gradle和Nexus Repository本身的问题,更不用说工作流程的问题了。它的声音就像部署的客户端部署非时间戳快照一样。如果是这种情况,无论客户端正在进行部署,都应该切换到使用时间戳而不是非时间戳。