我正在编写我的第一个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)
1条答案
按热度按时间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