java - 对象工具不是包 scala 的成员
问题描述
在我的 spark 应用程序中,我正在尝试使用它,我必须在我的
这些是我添加的 2 行fluentd-scala-logger
中包含一个额外的依赖项:build.sbt
build.sbt
resolvers += "Apache Maven Central Repository" at "https://repo.maven.apache.org/maven2/"
"org.fluentd" %% "fluent-logger-scala" % "0.7.0"
我的最终build.sbt
看起来像这样:
name := "sample"
version := "1.4"
scalaVersion := "2.11.8"
resolvers += "Apache Maven Central Repository" at "https://repo.maven.apache.org/maven2/"
libraryDependencies ++= Seq("org.elasticsearch" %% "elasticsearch-spark" % "2.1.2", "org.apache.spark" %% "spark-sql" % "2.1.2", "org.apache.kafka" % "kafka-clients" % "2.4.1", "org.fluentd" %% "fluent-logger-scala" % "0.7.0")
一旦我sbt
打包将我的 Spark 应用程序捆绑在一个 jar 中,我就会遇到以下问题:
object tools is not a member of package scala
[error] import scala.tools.nsc.io.File
sbt
当我的早期看起来像这样(没有流利的依赖)时,我没有面对这个:
name := "sample"
version := "1.4"
scalaVersion := "2.11.8"
libraryDependencies ++= Seq("org.elasticsearch" %% "elasticsearch-spark" % "2.1.2", "org.apache.spark" %% "spark-sql" % "2.1.2", "org.apache.kafka" % "kafka-clients" % "2.4.1")
解析器线路是否导致问题?还是我完全错过了其他东西。我正在使用sbt
版本 1.4.5 和 Scala 版本:2.11.8
解决方案
我不确定是什么原因造成的,但我找到了解决方案。请尝试像这样添加依赖项:
libraryDependencies += "org.fluentd" %% "fluent-logger-scala" % "0.7.0" intransitive()
它将导入此依赖项而不导入其依赖项。
话虽如此,我查看了这个库依赖项,并尝试将它们一一排除:
libraryDependencies += "org.fluentd" %% "fluent-logger-scala" % "0.7.0" excludeAll(
ExclusionRule("org.msgpack", "msgpack"),
ExclusionRule("org.slf4j", "slf4j-api"),
ExclusionRule("ch.qos.logback", "logback-classic"),
ExclusionRule("junit", "junit"),
)
但它没有用。所以我真的无法解释。
推荐阅读
- python - Python 无法从 URL 解析 HTML
- python - 通过用户输入删除列表中的值(Python)
- reactjs - ForwardRef 警告 React-hook-forms with Material UI TextField
- php - php 回显每个唯一的 sql 顺序
- java - 使用多个线程查找数组的总和
- python - 了解 plotlys olc 趋势线
- c# - EF Core Include()\ThenInlude() 只为每个集合项添加一个条目
- reactjs - React.cloneElement 传递道具问题
- ruby-on-rails - 如何知道用户是否在我的 Rails 应用程序中作为卖家登录?
- node.js - @import 'X' 媒体查询表达式必须以 '(' 开头,这对于带有 gatsby 的 sass 文件没有意义