程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何发布带有校验和(MD5、SHA1)的工件?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何发布带有校验和(MD5、SHA1)的工件??

开发过程中遇到如何发布带有校验和(MD5、SHA1)的工件?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何发布带有校验和(MD5、SHA1)的工件?的解决方法建议,希望对你解决如何发布带有校验和(MD5、SHA1)的工件?有所启发或帮助;

我希望 sbt publish 发布带有一些校验和的 JAR,但我似乎无法实现。

文档说默认情况下启用校验和,我可以确认 checksums 在 sbt 中返回 @H_360_3@md5 和 sha1。如果我执行 sbt publishLocal,我还可以看到生成的校验和。但是,当我将 JAR 发布到我们公司的 Artifactory 服务器时,在我们的 CI 服务器上执行 sbt publish 时没有校验和。

我错过了什么?

更多信息:

  • sbt 1.4.6
  • publishMavenStyle := true
  • publishTo := <internal Artifactory>
  • 我想说它特定于我公司的 Artifactory,因为 publishLocal 运行良好。
  • publish / checksums 返回与 checksums 相同的东西,它是 @H_360_3@md5 和 sha1 值的列表(就我而言,sbt 支持的唯一两个值可以找到)。
  • 我曾尝试关闭 CoursIEr(只是一种预感),但它的行为还是一样。

我已经尝试了调试日志级别,这是构建结束时的内容:

  [deBUG] Done packaging.
20:27:44
  [deBUG] CLIENT ERROR: Not Found url=https://<artifactory>/artifactory/maven-local/com/avast/ip-info_2.13/2.8.28/ip-info_2.13-2.8.28.pom
20:27:44
  [info]   published ip-info_2.13 to https://<artifactory>/artifactory/maven-local/com/avast/ip-info_2.13/2.8.28/ip-info_2.13-2.8.28.pom
20:27:44
  [deBUG] CLIENT ERROR: Not Found url=https://<artifactory>/artifactory/maven-local/com/avast/ip-info_2.13/2.8.28/ip-info_2.13-2.8.28.jar
20:27:44
  [info]   published ip-info_2.13 to https://<artifactory>/artifactory/maven-local/com/avast/ip-info_2.13/2.8.28/ip-info_2.13-2.8.28.jar
20:27:44
  [deBUG] CLIENT ERROR: Not Found url=https://<artifactory>/artifactory/maven-local/com/avast/ip-info_2.13/2.8.28/ip-info_2.13-2.8.28-sources.jar
20:27:44
  [info]   published ip-info_2.13 to https://<artifactory>/artifactory/maven-local/com/avast/ip-info_2.13/2.8.28/ip-info_2.13-2.8.28-sources.jar
20:27:44
  [success] @R_205_10586@l time: 0 s,completed Jan 28,2021,7:27:44 PM

解决方法

我想我明白了。这里的问题是jfrog,而不是sbt。

例如,我们可以看到 play-json 在其 build.sbt 中没有 checksums 提及,也没有 anywhere else in their repository。然而,看着他们的 published artifacts at maven,我看到了 sha-1 和 @H_360_3@md5 工件。

浏览了一下,发现这个:

How to show the checksum files when browsing artifacts from the direct URL?

这让我觉得 JFrog 隐藏了它。那里的分辨率是:

只需在 $ARTIFACTORY_HOME/etc/artifactory.system.properties 文件中设置一个属性即可。

  1. 将以下属性添加到 artifactory.system.properties 文件并保存 lit: artifactory.ui.hidechecksums=false

  2. 重启 Artifactory 以使更改生效:

我必须承认我没有尝试过,但这可能是一个领先。

大佬总结

以上是大佬教程为你收集整理的如何发布带有校验和(MD5、SHA1)的工件?全部内容,希望文章能够帮你解决如何发布带有校验和(MD5、SHA1)的工件?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: