【问题标题】:Dependency not available in project项目中不可用的依赖项
【发布时间】:2015-07-16 09:33:02
【问题描述】:

我正在尝试在我的项目中使用 Cloudinary Scala API。我已将其添加到 Build.scala 中,如下所示

  val main = Project(appName, file(".")).enablePlugins(play.PlayScala)
 .settings(scoverageSettings:_*)
 .settings(
   version := appVersion,
   libraryDependencies ++= appDependencies,    
   javaOptions in Test += "-Dconfig.file=conf/test.conf",
   aggregate in Test := false,
   resolvers ++= Seq(
     "sonatype repo" at "https://oss.sonatype.org/content/repositories/snapshots/"
  )
 )

appDependencies 包含的地方

 Seq( //A few other unrelated dependencies here
   "com.cloudinary" %% "cloudinary-core-scala" % "0.9.6-SNAPSHOT"
)

当我将此项目导入 IntelliJ 时

  • 所有 Cloudinary 导入都标记为红色
  • IntelliJ 能够自动完成我的 Cloudinary 导入,但将它们标记为非项目类(即,我可以搜索 cloudinary 类并找到它们,但仅当我选择“搜索非项目类”时)
  • 当我从命令行运行(sbt compile)时,sbt 能够找到 cloudinary 类并毫无问题地进行编译

这使得在我的 IDE 中编码变得非常困难,因为我没有得到任何语法完成或突出显示。

我不知道我在哪里做错了。我尝试了不同的 Scala 版本(我正在使用 2.10,尝试过 2.11)、不同的 IntelliJ 版本(14.1、15),运行 sbt clean,并从头开始重新创建项目。到目前为止,这一切都没有改变。

【问题讨论】:

  • IntelliJ 在 SBT 上有时会有点棘手,尽管最新版本似乎改进了很多。通常,当您更改 Build.sbt 时,Idea 会通知您项目已更改,因此您可以重新加载它,所有依赖项都应在重新加载时自动下载,IDE 应从那时起正确处理所有这些...
  • 不幸的是,更改我的构建文件(实际上使用 build.scala 文件)确实会触发重新下载,但会导致同样的问题。

标签: scala intellij-idea sbt


【解决方案1】:

尝试从 IDEA 的“SBT”工具栏强制刷新 sbt 项目。

【讨论】:

  • 试过了...没有解决问题。
【解决方案2】:

奇怪的是,我尝试了以下 - 使缓存无效/重新启动 - 将依赖项的版本从 0.9.6 切换到 0.9.7 - 克隆一个新的 repo,重新创建一个新的 IntelliJ 项目

每次行为都是一样的。然而,当我将我的代码移动到不同的包中时(不管我把它移动到哪个包中)——IntelliJ 开始获取类文件。我没有关于什么是错的可靠理论。

【讨论】:

    猜你喜欢
    • 2013-01-30
    • 2015-03-22
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    相关资源
    最近更新 更多