我正在研究我的第一个Apache Flink wordcount示例。我的设置是Scala IDE(Eclipse)4.3.0,Scala 2.10.4,SBT版本0.13.8。
IDE为调用env.fromElements引发错误“无法扩展由Scala的早期版本编译的宏”
val env = ExecutionEnvironment.getExecutionEnvironment
val text = env.fromElements("first line", "second line")
我能够使用SBT编译并生成程序集jar。我什至可以在IDE中运行/调试程序。只是IDE中的错误很烦人,并且阻止了诸如自动完成之类的IDE功能。我降低了一些需要调整的设置。不知道是哪一个。有什么提示吗?
我的build.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)
更新
从引用的链接
请注意,这意味着在兼容2.10模式下当前无法扩展白盒宏。确实,宏已经知道了2.10和2.11之间最近的重要发展,这使得两者之间的类型检查兼容性非常困难。如果您有一个使用2.10白盒宏的重要项目,则可能需要查看Scala IDE的2.10版本。
和
由于白盒宏在2.11和2.10之间有一些不兼容的改进,因此IDE无法在兼容模式下为您扩展宏。这可能将长期保留此模式。这就是-Ymacro-expand:none设置与-Xsource:2.10设置共同起作用的原因。
我猜您将不得不使用旧版本的Scala IDE或升级到Scala 2.11。:(
似乎Scala IDE(eclipse)正在使用更高版本(2.11)来编译您的项目。尝试更改项目的编译器。
在Scala IDE中,转到
项目>属性> Scala编译器
如果需要,请选中“使用项目设置”
在Scala安装中,选择2.10,然后单击确定。
之后,您可能需要清理并完全重建项目。
此处提供更多信息:http : //scala-ide.org/blog/scala-installations.html http://scala-ide.org/blog/Xsource-compatibility.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句