SBT不会解决与除类型安全的任何资源库传递依赖(SBT won't resolve tran

2019-08-17 23:08发布

我有一个传递依赖,就不会解决,我撕裂我的头发了这一点。

具体的依赖是org.apache.maven.wagon#wagon-provider-api;1.0-beta-2!wagon-provider-api.jar ,虽然我不知道它的直接相关性,包括它。

该文件是活得很好的默认Maven的回购协议。 出于某种原因,但是,SBT只是拒绝检查有没有它,虽然它高兴的样子有没有其他的依赖关系:

[warn]  [NOT FOUND  ] org.apache.maven.wagon#wagon-provider-api;1.0-beta-2!wagon-provider-api.jar (52ms)
[warn] ==== Typesafe Releases Repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::              FAILED DOWNLOADS            ::
[warn]  :: ^ see resolution messages for details  ^ ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.apache.maven.wagon#wagon-provider-api;1.0-beta-2!wagon-provider-api.jar
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[error] (*:update) sbt.ResolveException: download failed: org.apache.maven.wagon#wagon-provider-api;1.0-beta-2!wagon-provider-api.jar
[error] Total time: 3 s, completed Mar 23, 2013 7:22:05 PM

我已经删除了.ivy2.m2.sbt从我的主目录。 我已经运行sbt update 。 我已经运行play cleanplay clean-all一遍又一遍。 奔跑resolvers从SBT提示显示Maven的回购协议是在列表中。

我试着下载JAR并将其添加到我的常春藤缓存,我常青藤仓库,我玩游戏! 库。

剩下的是什么尝试?

我Build.scala:

import sbt._
import Keys._
import play.Project._

object ApplicationBuild extends Build {

  val appName         = "conspire"
  val appVersion      = "1.0-SNAPSHOT"

  val appDependencies = Seq(
    // Add your project dependencies here,
    javaCore,
    javaJdbc,
    "mysql" % "mysql-connector-java" % "5.1.18",
    "org.apache.cayenne.plugins" % "maven-cayenne-plugin" % "3.0.2",
    "org.objectstyle.ashwood" % "ashwood" % "2.0",
    "commons-collections" % "commons-collections" % "3.1",
    "commons-lang" % "commons-lang" % "2.6",
    "commons-logging" % "commons-logging" % "1.1"
  )

  val main = play.Project(appName, appVersion, appDependencies).settings(
    externalResolvers += "Local Maven Repository" at "file:///"+Path.userHome+"/.m2/repository",
    resolvers ++= Seq(DefaultMavenRepository,
                      "Objectstyle repository" at " http://objectstyle.org/maven2/")
  )

}

Answer 1:

尝试

resolvers := // which overrides current resolvers

代替

resolvers ++= // which appends to current resolvers

不要问我要解释,虽然,因为我不知道为什么它的工作原理。 刚刚与JUnit的类似的问题, 这个链接建议这样做的话,这有助于...



Answer 2:

代替 :

resolvers :=  

(有没有允许多个解析器的缺点)。我发现,

resolvers += 

做工精细,并没有从OP表现出的bug。



Answer 3:

我有一个类似的问题。 但是SBT甚至会在Maven回购搜索和它说,不工作的联系,实际工作。

我解决了它的默认播放前塞入移动我自己的依赖:

之前

val appDependencies = Seq(
    // Add your project dependencies here,
    javaCore,
    javaJdbc,
    "mysql" % "mysql-connector-java" % "5.1.32"
  )

val appDependencies = Seq(
    "mysql" % "mysql-connector-java" % "5.1.32",
    javaCore,
    javaJdbc    
  )

希望这可以帮助别人。 干杯



文章来源: SBT won't resolve transitive dependency against any repository except Typesafe's
标签: scala maven sbt