【问题标题】:Idea, sbt, unable to reparse warning想法,sbt,无法重新解析警告
【发布时间】:2016-09-10 13:57:40
【问题描述】:

我已将我的工件推送到 oss nexus repo,将其作为依赖项添加到另一个项目。想法不断提醒我:

[warn] Unable to reparse com.github.kondaurovdev#jsonapi_2.11;0.1-SNAPSHOT from sonatype-snapshots, using Fri May 13 17:12:52 MSK 2016 [warn] Choosing sonatype-snapshots for com.github.kondaurovdev#jsonapi_2.11;0.1-SNAPSHOT 

也许我以错误的方式推送了工件?但是我早点做了,一切都很好。如何摆脱这些警告?还是直接忽略它们?

【问题讨论】:

  • 我做了一个基本的 3 行 build.sbt 来重现问题:resolvers += Resolver.sonatypeRepo("snapshots") libraryDependencies += "org.postgresql" % "postgresql" % "9.4.1209 -SNAPSHOT" 然后运行sbt update
  • 我遇到了同样的问题。显示此消息并使用来自远程仓库的 SNAPSHOT 工件,忽略我在本地发布的。
  • 仅供参考-我在 1.0.0-M4 中运行 build.sbt,效果相同。我无法通过githubsource 判断警告是错误还是功能。 (旁注:我用addMavenResolverPluginstackoverflow.com/q/37126026/3320205 更进一步,但遇到了“无法读取工件描述符”。)也许sbt-dev 可能需要被ping?
  • 有人有这方面的消息吗?遇到同样的问题...

标签: intellij-idea sbt nexus publishing


【解决方案1】:

我遇到了同样的问题。

您是否将 SNAPSHOT 版本发布到您的工件?如果是这样this 可能是你的问题。

如您所知,在本地发布时,您的快照版本存储在 .ivy2/local 目录中。远程版本存储在 .ivy2/cache 目录中。

查看 .ivy2/cache/{dependency} 文件夹时,您会看到它只下载了 xml 和属性文件。所以只有元数据,没有罐子。这就是它不存在而无法解析的真正原因。

由于 .ivy2/cache 优先于 .ivy2/local 它不会看到您本地发布的版本。有两种方法可以解决此问题。

  • 更新您的快照版本号(推荐)
  • 从您的工件中删除 SNAPSHOT 并删除每个具有本地版本的客户端上的 .ivy2/cache/{dependency} 文件夹。

在我看来,第一个是要走的路。

【讨论】:

  • 我什至遇到了第二个问题,它也导致了同样的错误。我在 unmanagedBase 目录中有相同的库,但版本较旧。从目录中删除这个旧版本将是修复
  • 感谢您的回答,更新您的快照版本是什么意思?再次在本地发布并不能解决这个问题..
  • @raam86 我的意思是更新版本号。所以实际上发布了一个新版本
  • 为什么不允许发布多个相同版本和不同时间戳的快照?是不是因为某种原因错了?
【解决方案2】:

我遇到了同样的问题,在我的 build.sbt 中添加以下内容后它就消失了:

updateOptions := updateOptions.value.withLatestSnapshots(false)

您可以从https://github.com/sbt/sbt/issues/2650找到更多详细信息

【讨论】:

  • 这会放在构建文件的什么位置?将它放在构建文件的末尾时出现错误
  • 这个密钥在 sbt 0.13.16 中是否仍然可用?我找不到它
猜你喜欢
  • 1970-01-01
  • 2021-11-13
  • 2021-01-03
  • 2015-06-14
  • 2020-04-24
  • 2021-09-21
  • 2017-05-28
  • 2017-12-06
  • 2021-02-26
相关资源
最近更新 更多