gpt4 book ai didi

intellij-idea - IntelliJ IDEA CE 12 中 sbt 0.13 报告的 Unresolved 依赖项

转载 作者:行者123 更新时间:2023-12-04 06:01:05 24 4
gpt4 key购买 nike

我正在使用 IntelliJ IDEA CE 12 进行 Scala 开发。我已经安装了 SBT 插件。目前我的 ~/.sbt/0.13/plugins/build.sbt 看起来像这样:

resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.7.0-SNAPSHOT")

我的项目在没有auto-import的情况下导入到IDEA。

我注意到我的 Scala 类无法找到一些导入,但我能够编译项目并运行 - 所以它有效。

使用缺少的导入进行开发很难 ;) 所以我成功地运行了 gen-idea 并尝试在 auto-import 打开的情况下再次导入我的项目。不幸的是,我收到以下错误:

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.typesafe.slick#slick_2.9.2;2.0.0: not found
[warn] :: io.spray#spray-json_2.9.2;1.2.5: not found
[warn] :: com.typesafe.akka#akka-actor_2.9.2;2.2.0-RC1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::

项目的built.sbt如下:

resolvers ++= List(
"spray repo" at "http://repo.spray.io/",
"Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"
)

libraryDependencies ++= List(
"com.typesafe.slick" %% "slick" % "2.0.0",
"postgresql" % "postgresql" % "8.4-701.jdbc4",
"org.xerial" % "sqlite-jdbc" % "3.6.20",
"io.spray" % "spray-can" % "1.2-M8",
"io.spray" % "spray-routing" % "1.2-M8",
"io.spray" %% "spray-json" % "1.2.5",
"com.typesafe.akka" %% "akka-actor" % "2.2.0-RC1",
"org.slf4j" % "slf4j-api" % "1.7.1"
)

如何解决IDEA中的依赖关系?提前致谢!

最佳答案

UNRESOLVED DEPENDENCIES 总是与依赖项中的小部分有关,这些小部分使 sbt 无法在可用存储库中找到它们。

您应该始终检查 resolverslibraryDependencies 设置(就像您所做的那样),但请注意%% 构建依赖关系。

来自 Getting the right Scala version with %% :

If you use groupID %% artifactID % revision rather than groupID % artifactID % revision (the difference is the double %% after the groupID), sbt will add your project's Scala version to the artifact name. This is just a shortcut.

因此,解析器libraryDependencies%%(以及scalaVersion)的组合通常会导致许多给 sbt 新手带来麻烦(事实上,其他构建工具,因为他们也必须找到开发人员在他们的项目构建文件中设置的依赖项)。

使用http://mvnrepository.com/检查您的依赖项是否真的可以下载。

让我们选择,"com.typesafe.slick"%% "slick"% "2.0.0"。如果您的 build.sbt 文件(或任何其他构建文件)中没有指定 scalaVersion,则 %% 被解析为默认的 Scala 版本您使用的 sbt 启动器 -- 它可以是 2.9.12.10.3 或其他。不知何故(鉴于您提供的信息,我无法解释为什么)它选择了 2.9.2http://mvnrepository.com/artifact/com.typesafe.slick 处没有 Slick对于 Scala 版本。您需要使用以下内容(注意单个 %):

"com.typesafe.slick" % "slick_2.10" % "2.0.0"

或者将scalaVersion设置为2.10.3,这是目前最新发布的Scala版本,如下所示:

scalaVersion := "2.10.3"

对其他 %% 依赖项重复上述操作。

可能有可用的解析器可以提供此类工件,但您必须明确告知它,因为搜索 Internet 和私有(private)存储库通常很痛苦。

关于intellij-idea - IntelliJ IDEA CE 12 中 sbt 0.13 报告的 Unresolved 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22519488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com