flink

lf3rwulv  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(405)

我正在编写我的第一个apache flink wordcount示例。我的设置是scalaide(eclipse)4.3.0,scala2.10.4,sbtversion0.13.8。
ide为调用env.fromelements抛出错误“无法展开由以前版本的scala编译的宏”

val env = ExecutionEnvironment.getExecutionEnvironment
val text = env.fromElements("first line", "second line")

我能够用sbt编译和生成程序集jar。我甚至可以在ide中运行/调试程序。只是ide中的错误很烦人,它阻止了ide的自动完成等功能。我有一种感觉,它的一些设置需要调整。不知道是哪一个。有什么提示吗?
我的版本.sbt

import AssemblyKeys._

name := "Flink Test"
version := "0.1.0"
organization := "com.NNN"
scalaVersion := "2.10.4"

javacOptions ++= Seq("-source", "1.7", "-target", "1.7")

libraryDependencies ++= Seq(
  "org.apache.flink" % "flink-scala" % "0.10.1" % "provided",
  "org.apache.flink" % "flink-clients" % "0.10.1" % "provided"
)

resolvers ++= Seq(
  "Akka"                    at "http://akka.io/repository/",
  "Sonatype"                at "https://oss.sonatype.org/"
)

assemblySettings

jarName in assembly := "flink-test.jar"

fork in run := true

assemblyOption in assembly :=  (assemblyOption in assembly).value.copy(includeScala = false)
jhiyze9q

jhiyze9q1#

更新
从引用的链接
请注意,这意味着当前在兼容2.10模式下无法扩展白盒宏。实际上,宏已经知道了2.10和2.11之间的重要最新发展,这使得在这两个版本之间进行类型检查的兼容性非常困难。如果您有一个使用2.10白盒宏的重要项目,那么您可能需要看看ScalaIDE的2.10版本。

由于白盒宏在2.11和2.10之间有一些不兼容的改进,ide无法在兼容模式下为您展开宏。这可能仍然是这种模式的长期局限性。这就是为什么-ymacro-expand:none setting 与-xsource:2.10 setting.
我想您必须使用较旧版本的scala ide或升级到scala 2.11:(
ScalaIDE(eclipse)似乎正在使用更高版本(2.11)来编译您的项目。尝试更改项目的编译器。
在scala ide中,转到
项目>属性>scala编译器
如果需要,请选中“使用项目设置”
在scala安装中,选择2.10并单击ok。
也许你需要清理和完全重建你的项目之后。
更多信息请点击此处:http://scala-ide.org/blog/scala-installations.htmlhttphttp://scala-ide.org/blog/xsource-compatibility.html

相关问题