尽管如此,sbt仍然抓住了lift-json.为什么?
"net.liftweb" %% "lift-mapper" % "2.6-M4" % "compile" excludeAll(ExclusionRule("net.liftweb", "lift-json"))
Run Code Online (Sandbox Code Playgroud)
更多信息.这是依赖树显示的内容:
+-net.liftweb:lift-mapper_2.10:2.6-M4
[info] | +-net.liftweb:lift-db_2.10:2.6-M4
[info] | | +-net.liftweb:lift-util_2.10:2.6-M4
[info] | | | |
…
[info] | | | |
[info] | | | +-net.liftweb:lift-json_2.10:2.6-M4
Run Code Online (Sandbox Code Playgroud)
所以依赖是lift-mapper - > lift-db - > lift-util - > lift-json,或许排除不深?
Tho*_*ney 18
这里的关键不明显的是,sbt中的排除实际上只是底层常春藤引擎的传递规则.由于Ivy对sbt约定一无所知(例如,附加_2.10到特定于Scala发行版的依赖项),因此您需要告诉它应该排除什么.在这种情况下,这意味着该行应如下所示:
"net.liftweb" %% "lift-mapper" % "2.6-M4" % "compile" excludeAll(ExclusionRule("net.liftweb", "lift-json_2.10"))
Run Code Online (Sandbox Code Playgroud)
也许有一些增强可以让sbt允许它看到,因为您定义的依赖项是特定于Scala的版本,它也应该尝试为该版本添加排除规则.
也许还有一些其他库依赖它.您可以使用sbt-dependency-graph插件找到这些库.或者只是将其从所有依赖项中排除:
libraryDependencies ++= Seq(
......
).map(_.excludeAll(ExclusionRule("net.liftweb", "lift-json")))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4016 次 |
| 最近记录: |