我想用scala2.10和2.11使用sbt交叉编译特性编译一个项目。问题是这个项目包含一些flink依赖项。但是flink jar并没有遵循标准的二进制格式(使用后缀修复名称) _2.10
或者 _2.11
):scala 2.10 jar没有后缀,2.11有后缀。
我找到了一个有效的解决办法。但我对此并不满意,我的问题是:有没有更简单和/或更优雅的方法来解决这个问题?
我当前的解决方案:
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)
1条答案
按热度按时间dba5bblo1#
是的,你必须这样做。略短的版本如下: