【问题标题】:Import Java library to Scala sbt project将 Java 库导入 Scala sbt 项目
【发布时间】:2017-04-06 19:41:38
【问题描述】:

我正在尝试在 SBT 项目(播放框架)中使用 import guava 库,但无法编译我的代码

import com.google.common.net.InternetDomainName

class MyClass(link: String) {
  private val domains = {
    val host = new URL(link).getHost
    val domainName = InternetDomainName.from(host)
    domainName.topPrivateDomain().name()
  }
}

我得到编译错误

object google is not a member of package com

谁能解释一下,问题出在哪里?

【问题讨论】:

    标签: java scala playframework


    【解决方案1】:

    您是否已将 guava 库作为库依赖项添加到您的 build.sbt 文件中?您可以在项目的根目录中找到该文件。在那里您可以将依赖项添加到 guava 库:

    libraryDependencies ++= Seq(
      "com.google.guava" % "guava" % "17.0",
      // other dependencies separated by commas
    )
    

    【讨论】:

    • 我将此依赖项添加到 project/plugins.sbt。将此添加到 build.sbt 解决了该问题。你能解释一下,发生了什么吗?
    • 嗯,到目前为止,您知道哪些语言和构建系统?在build.sbt 文件中指定它会导致播放应用程序从 Internet 下载此依赖项/库。然后将该库添加到应用程序的所谓类路径中。通过在源文件中使用 import,只能在应用程序中使用类路径中的内容。
    • 这个解释可以理解吗? :-)
    猜你喜欢
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 2017-03-07
    • 2015-03-30
    • 2016-12-14
    • 2014-10-10
    相关资源
    最近更新 更多