【问题标题】:SBT ignores file resolver to local maven repoSBT 忽略本地 maven 存储库的文件解析器
【发布时间】:2015-07-02 22:23:00
【问题描述】:

我正在尝试使用发布到本地 maven 存储库的依赖项。我在带有 JDK8 的 Windows 下使用 SBT 0.13.7。这是我在build.scala 中尝试过的内容@

resolvers ++= {
  val mavenLocal = Resolver.file("local2", file(Path.userHome + "/.m2/repository"))(Resolver.mavenStylePatterns)

  Seq(
    mavenLocal,
// Resolver.publishMavenLocal,
    "spray releases" at "http://repo.spray.io/",
    "spray nightlies" at "http://nightlies.spray.io/",
    "jasperreports" at "http://jasperreports.sourceforge.net/maven2/",
    "Akka Snapshot Repository" at "http://repo.akka.io/snapshots/",
    "Miredot" at "http://nexus.qmino.com/content/repositories/miredot"
  )
}

奇怪的是它对我不起作用。我正在监视系统文件活动,而 SBT 甚至没有尝试转到上述文件夹。我什至尝试使用提供的Resolver.publishMavenLocal

这是我在日志中得到的内容

[warn]  module not found: com.wordnik#swagger-jersey2-jaxrs;1.5.2-M2-SNAPSHOT
[warn] ==== local: tried
[warn]   C:\Users\root\.ivy2\local\com.wordnik\swagger-jersey2-jaxrs\1.5.2-M2-SNAPSHOT\ivys\ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/wordnik/swagger-jersey2-jaxrs/1.5.2-M2-SNAPSHOT/swagger-jersey2-jaxrs-1.5.2-M2-SNAPSHOT.pom
[warn] ==== local2: tried
[warn] ==== spray releases: tried
[warn]   http://repo.spray.io/com/wordnik/swagger-jersey2-jaxrs/1.5.2-M2-SNAPSHOT/swagger-jersey2-jaxrs-1.5.2-M2-SNAPSHOT.pom
[warn] ==== spray nightlies: tried
[warn]   http://nightlies.spray.io/com/wordnik/swagger-jersey2-jaxrs/1.5.2-M2-SNAPSHOT/swagger-jersey2-jaxrs-1.5.2-M2-SNAPSHOT.pom
[warn] ==== jasperreports: tried
[warn]   http://jasperreports.sourceforge.net/maven2/com/wordnik/swagger-jersey2-jaxrs/1.5.2-M2-SNAPSHOT/swagger-jersey2-jaxrs-1.5.2-M2-SNAPSHOT.pom
[warn] ==== Akka Snapshot Repository: tried
[warn]   http://repo.akka.io/snapshots/com/wordnik/swagger-jersey2-jaxrs/1.5.2-M2-SNAPSHOT/swagger-jersey2-jaxrs-1.5.2-M2-SNAPSHOT.pom
[warn] ==== Miredot: tried
[warn]   http://nexus.qmino.com/content/repositories/miredot/com/wordnik/swagger-jersey2-jaxrs/1.5.2-M2-SNAPSHOT/swagger-jersey2-jaxrs-1.5.2-M2-SNAPSHOT.pom

我错过了什么吗?

【问题讨论】:

标签: scala maven sbt


【解决方案1】:

当我需要从本地 maven 存储库导入库时,我通常使用此行:

resolvers += "Local Maven" at Path.userHome.asFile.toURI.toURL + ".m2/repository"

【讨论】:

  • 哇,成功了。我想知道 SBT 文档中的版本到底有什么问题。
【解决方案2】:

除非您尝试以下操作,否则 SBT 1.3.8 不会解析 maven local:

  • c:\Users\mac\\.sbt\下添加一个名为repositories的文件,并添加:

    [repositories]
    
    maven-local 
    
  • 以参数-Dsbt.override.build.repos=true 启动sbt。

仔细阅读sbt在线文档,你可以找到答案。

【讨论】:

    【解决方案3】:

    resolvers += Resolver.mavenLocal

    【讨论】:

      【解决方案4】:

      对于 sbt 1.5.5(正如 Victor Ma 所提到的),我必须创建一个存储库文件 - ~/.sbt/repositories 并将 maven-local 添加到它。有几点 - 您不需要提供任何 sbt 参数,因为 sbt 会自动获取文件。您还需要提供所需的其余存储库,以便也可以解决其他依赖项。您至少需要:

      [repositories]
      
      local
      maven-local
      maven-central
      

      【讨论】:

        猜你喜欢
        • 2020-01-05
        • 2014-07-01
        • 1970-01-01
        • 2014-03-01
        • 2011-12-15
        • 1970-01-01
        • 2018-06-24
        • 2013-03-02
        • 2015-02-23
        相关资源
        最近更新 更多