如何修复此 "sbt.ResolveException: unresolved dependency: commons-logging#commons-logging;1.1.1:" 异常?

How to fix this "sbt.ResolveException: unresolved dependency: commons-logging#commons-logging;1.1.1:" exception?

我刚刚克隆了项目 scala-js-react,运行 sbt,它报告了一些关于依赖项的错误。

我试图通过添加一些解析器来修复它,但运气不好。

$ git clone https://github.com/xored/scala-js-react.git
$ cd scala-js-react
$ sbt

报告错误:

[info] Loading project definition from /Users/twer/workspace/scala-js-react/project
[info] Updating {file:/Users/twer/workspace/scala-js-react/project/}scala-js-react-build...
[info] Resolving org.scala-sbt.ivy#ivy;2.3.0-sbt-fccfbd44c9f64523b61398a0155784d[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: commons-logging#commons-logging;1.1.1: configuration not found in commons-logging#commons-logging;1.1.1: 'master(compile)'. Missing configuration: 'compile'. It was required from org.apache.httpcomponents#httpclient;4.2.6 compile
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]      commons-logging:commons-logging:1.1.1
[warn]        +- org.apache.httpcomponents:httpclient:4.2.6
[warn]        +- org.xerial.sbt:sbt-sonatype:0.2.1 (scalaVersion=2.10, sbtVersion=0.13) (/Users/twer/workspace/scala-js-react/project/plugins.sbt#L3-4)
[warn]        +- default:scala-js-react-build:0.1-SNAPSHOT (scalaVersion=2.10, sbtVersion=0.13)
sbt.ResolveException: unresolved dependency: commons-logging#commons-logging;1.1.1: configuration not found in commons-logging#commons-logging;1.1.1: 'master(compile)'. Missing configuration: 'compile'. It was required from org.apache.httpcomponents#httpclient;4.2.6 compile
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:278)
    at sbt.IvyActions$$anonfun$updateEither.apply(IvyActions.scala:175)
    at sbt.IvyActions$$anonfun$updateEither.apply(IvyActions.scala:157)
    at sbt.IvySbt$Module$$anonfun$withModule.apply(Ivy.scala:151)
    at sbt.IvySbt$Module$$anonfun$withModule.apply(Ivy.scala:151)
    at sbt.IvySbt$$anonfun$withIvy.apply(Ivy.scala:128)
    at sbt.IvySbt.sbt$IvySbt$$action(Ivy.scala:56)
    at sbt.IvySbt$$anon.call(Ivy.scala:64)
    at xsbt.boot.Locks$GlobalLock.withChannel(Locks.scala:93)
    at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries(Locks.scala:78)
    at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock.apply(Locks.scala:97)
    at xsbt.boot.Using$.withResource(Using.scala:10)
    at xsbt.boot.Using$.apply(Using.scala:9)
    at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
    at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
    at xsbt.boot.Locks$.apply0(Locks.scala:31)
    at xsbt.boot.Locks$.apply(Locks.scala:28)
    at sbt.IvySbt.withDefaultLogger(Ivy.scala:64)
    at sbt.IvySbt.withIvy(Ivy.scala:123)
    at sbt.IvySbt.withIvy(Ivy.scala:120)
    at sbt.IvySbt$Module.withModule(Ivy.scala:151)
    at sbt.IvyActions$.updateEither(IvyActions.scala:157)
    at sbt.Classpaths$$anonfun$sbt$Classpaths$$work.apply(Defaults.scala:1318)
    at sbt.Classpaths$$anonfun$sbt$Classpaths$$work.apply(Defaults.scala:1315)
    at sbt.Classpaths$$anonfun$doWork$$anonfun.apply(Defaults.scala:1345)
    at sbt.Classpaths$$anonfun$doWork$$anonfun.apply(Defaults.scala:1343)
    at sbt.Tracked$$anonfun$lastOutput.apply(Tracked.scala:35)
    at sbt.Classpaths$$anonfun$doWork.apply(Defaults.scala:1348)
    at sbt.Classpaths$$anonfun$doWork.apply(Defaults.scala:1342)
    at sbt.Tracked$$anonfun$inputChanged.apply(Tracked.scala:45)
    at sbt.Classpaths$.cachedUpdate(Defaults.scala:1360)
    at sbt.Classpaths$$anonfun$updateTask.apply(Defaults.scala:1300)
    at sbt.Classpaths$$anonfun$updateTask.apply(Defaults.scala:1275)
    at scala.Function1$$anonfun$compose.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$$anonfun$apply.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$$anonfun$apply.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$$anonfun.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
[error] (*:update) sbt.ResolveException: unresolved dependency: commons-logging#commons-logging;1.1.1: configuration not found in commons-logging#commons-logging;1.1.1: 'master(compile)'. Missing configuration: 'compile'. It was required from org.apache.httpcomponents#httpclient;4.2.6 compile
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?

刚刚从本地 ~/.ivy2/cache 删除了 commons-logging,然后重新 运行 它。

PS: 不知道为什么能修好:(

我陷入了与commons-collections:commons-collections:3.2.1完全相同的问题。感谢 Freewind,我只是删除了 ivy-3.2.1.xmlivydata-3.2.1.properties 并且它工作正常.

我相信,至少就我而言,这些元数据文件已损坏,但没有 证据可以证明。

我必须在 Build.scala 文件中添加一行, .settings(解析器 += "Guardian Github io repos" 在“https://guardian.github.io/maven/repo-releases/”)

似乎发生了从 http 到 https 以及从 .com 到 .io 的变化

也许是晚了,但我遇到了同样的问题,上面的答案没有解决 我做了什么 : 在项目文件夹中 编辑 build.properties 并将 sbt.version 从 0.13.5 更改为 0.13.6

#Activator-generated Properties
#Tue Sep 09 12:46:06 CEST 2014
template.uuid=5f91b045-ad7c-4a08-b31e-3f5ea4bacb81
sbt.version=0.13.6

=> 它现在转到 https://rep1.maven... 而不是 http) 因此它可以更新缺少的库和 ivy2

手动将库包含在 .ivy2/cache 中,然后重试。