将Java库导入Scala sbt项目

3

我正在尝试在SBT项目(play框架)中使用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

有人能解释一下,问题是什么吗?
1个回答

13

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

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

我将这个依赖项添加到了project/plugins.sbt中。将其添加到build.sbt中解决了问题。你能解释一下发生了什么吗? - pozharko
6
嗯,你目前知道哪些语言和构建系统?在build.sbt文件中指定这一点,会导致Play应用程序从互联网下载此依赖库。然后将该库添加到您的应用程序的所谓类路径中。只有在类路径上的东西才可以通过在源文件中使用import来在应用程序中使用。 - mavilein
这个解释能够理解吗? :-) - mavilein

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接