1
我想使用sbt交叉編譯功能編譯Scala 2.10和2.11的項目。問題是這個項目包含一些Flink依賴項。但Flink jar不遵循標準的二進制格式(後綴_2.10
或_2.11
):scala 2.10 jar沒有後綴,並且2.11擁有它。如何聲明Flink sbt跨版本依賴關係?
我找到了一個工作解決方案。但我對此並不滿意,我的問題是:有沒有更簡單和/或更優雅的方法來解決這個問題?
我目前的解決方案:
def flinkDependencies(scalaVersion: String) = {
if (scalaVersion.startsWith("2.10"))
Seq(
"org.apache.flink" % "flink-scala" % flinkVersion % "optional",
"org.apache.flink" % "flink-streaming-scala" % flinkVersion % "optional"
)
else
Seq(
"org.apache.flink" %% "flink-scala" % flinkVersion % "optional",
"org.apache.flink" %% "flink-streaming-scala" % flinkVersion % "optional"
)
}
libraryDependencies <++= scalaVersion(flinkDependencies)
目前Flink默認使用Scala 2.10構建,並且不會正確公開版本號。它計劃在下一個版本中解決這個問題。 –
@ matthias-j-sax這是個好消息!謝謝。這將使Flink在不久的將來會過時這個問題。但是對於當前的問題有一個很好的解決方案仍然很有趣。 – gesundkrank