【问题标题】:How to add dedendency in SBT project如何在 SBT 项目中添加依赖项
【发布时间】:2017-05-31 00:02:52
【问题描述】:

我是新的scalaSBT。我正在尝试编写一个可以读取JSONstringobject 并写回ObjectJSON string 的追求引擎。为此,我使用eclipse 作为IDESBT(0.13.13) 作为构建工具和jackson。尝试在 scala 文件中导入依赖项时出现一些错误。我的步骤如下:

  1. 我在我的项目的build.sbt 中添加了这两个dependency

    libraryDependencies += "com.fasterxml.jackson.core" % "jackson-databind" % "2.5.3"
    libraryDependencies += "com.fasterxml.jackson.module" % "jackson-module-scala_2.11" % "2.8.8"
    
  2. 使用“编译”命令从SBT控制台编译项目

  3. DAO 对象创建一个scala 对象,该对象将包含数据并作为JSON 传输

但是当我试图在 scala 源文件中导入这个时:

import com.fasterxml.jackson.databind.{DeserializationFeature, ObjectMapper}
import com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper
import com.fasterxml.jackson.module.scala.DefaultScalaModule

它给出了一些编译错误:

object fasterxml 不是 com 包的成员

但是我为下载这些依赖项所做的编译最终成功并显示下载为[SUCCESSFUL]

我想我错过了什么,有人可以在这方面帮助我吗?

作为实验的一部分,我在我的项目中添加了 MySql 依赖项:

libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.40"

哪个工作正常,我可以从 scala 代码连接 MySql 服务器。

Maven 中我们可以更新,或者如果我们保存 POM 文件,maven 会自动下载所有这些依赖项。 SBT 中的相同还是每次在 build.sbt 添加依赖项后我都必须“重新加载”和“编译”才能下载?

【问题讨论】:

  • 您是否记得在第 2 步运行 reload
  • 1) 确保依赖项可用sbt "inspect tree clean" | grep jackson 2) 确保导入的类属于依赖项。 3)尝试在eclipse中同步sbt依赖。如果您使用的是 mvn-eclipse 插件 mvn eclipse:clean eclipse:eclipse 否则,类似于 File -> Refresh
  • @stephen,我用重载

标签: scala sbt


【解决方案1】:

以下是您需要遵循的一些步骤
1) 在 Eclipse 中清理您的项目(Eclipse 可能会缓存依赖项)
2) 确保您的项目目录与here
中的说明相同 3)如果以上两个步骤都不起作用,请执行

import _root_.com.fasterxml.jackson.databind.{DeserializationFeature, ObjectMapper}
import _root_.com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper
import _root_.com.fasterxml.jackson.module.scala.DefaultScalaModule

希望你能解决

【讨论】:

    猜你喜欢
    • 2020-01-20
    • 2020-01-03
    • 2013-05-28
    • 2017-05-20
    • 2013-12-06
    • 2015-03-30
    • 2013-12-20
    • 2018-03-20
    • 2020-01-01
    相关资源
    最近更新 更多