玩2.3.7和Sbt在Netty上的evicted警告

Play 2.3.7 and Sbt's evicted warning on Netty

使用 Sbt 0.13.7 开始玩吧! 2.3.7 我在被逐出的库上收到以下警告:

[info]  io.netty:netty
[info]      - 3.9.3.Final
[info]          status: release
[info]          publicationDate: Wed Aug 06 20:59:02 CEST 2014
[info]          resolver: sbt-chain
[info]          artifactResolver: sbt-chain
[info]          evicted: false
[info]          homepage: http://netty.io/
[info]          isDefault: false
[info]          configurations: compile, master(*), runtime, compile(*), runtime(*), master
[info]          licenses: (Apache License, Version 2.0,Some(http://www.apache.org/licenses/LICENSE-2.0))
[info]          callers: com.typesafe.netty:netty-http-pipelining:1.1.2, com.typesafe.play:play_2.11:2.3.7
[info]      - 3.6.3.Final
[info]          evicted: true
[info]          evictedData: latest-revision
[info]          configurations: compile, master(*), runtime, compile(*), runtime(*), master
[info]          callers: com.typesafe.netty:netty-http-pipelining:1.1.2
...
[info]  org.webjars:jquery
[info]      - 2.1.3
[info]          status: release
[info]          publicationDate: Thu Dec 18 17:24:20 CET 2014
[info]          resolver: sbt-chain
[info]          artifactResolver: sbt-chain
[info]          evicted: false
[info]          homepage: http://webjars.org
[info]          isDefault: false
[info]          configurations: default(compile), default, compile, runtime, master, master(*), compile(*), runtime(*)
[info]          licenses: (MIT License,Some(https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt))
[info]          callers: org.webjars:bootstrap:3.3.2, mdpm:caving_2.11:0.1.0
[info]      - 1.11.1
[info]          evicted: true
[info]          evictedData: latest-revision
[info]          configurations: compile, master(*), runtime, compile(*), runtime(*), master
[info]          callers: org.webjars:bootstrap:3.3.2

为什么是

两个部分都列出了?例如,bootstrap:3.3.2 是否使用 jQuery 1.11.1 和 2.1.3?我猜不是。我在这里错过了什么?

最后,如何解决那些"issues"?

Ivy的更新报告没有区分(我认为)

  1. 原来的来电者
  2. 修改了因驱逐而发生的呼叫者
  3. 或者,传递调用者

要弄清情况,您必须search for the POM in Maven Central。它说 bootstrap 3.3.2 使用 jQuery 1.11.1.

Netty 出现是因为 sbt 无法处理 .Final 事情。

Finally, how to resolve those "issues"?

这取决于各个库提供的兼容性。默认情况下,当库不是交叉构建时(没有 _2.11 后缀),驱逐警告使用语义版本控制来推断兼容性。您可以执行以下几项操作:

  • 如果发现jQuery1.11.1和2.1.3兼容(they are除2.x不再支持IE 6/7/8),可以选择忽略警告。
  • 您可以override到您选择的特定版本。
  • 如果您确实 存在不兼容性,您需要升级或降级您的库,以便兼容性一致。这可能需要联系作者,或自己构建东西。