簡體   English   中英

通過Scala IDE和SBT進行鏈接

[英]Flink with Scala IDE and SBT

我正在研究我的第一個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)

UPDATE

從引用的鏈接

請注意,這意味着在兼容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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM