2017-08-09 15 views
0

私はScalaで書かれたAWS-ラムダを持っている小さなプロジェクトを設定しようとしています:assemblyMergeStrategyタイプエラー

javacOptions ++= Seq("-source", "1.8", "-target", "1.8", "-Xlint") 

lazy val root = (project in file(".")). 
    settings(
    name := "xxx", 
    version := "0.1", 
    scalaVersion := "2.12.3", 
    retrieveManaged := true 
) 

libraryDependencies ++= Seq(
    "com.amazonaws" % "aws-lambda-java-core" % "1.1.0" % Provided, 
    "com.amazonaws" % "aws-lambda-java-events" % "1.1.0" % Provided, 
    "org.scalatest" % "scalatest" % "2.2.6" % Test 
) 

scalacOptions += "-deprecation" 

assemblyMergeStrategy in assembly <<= (assemblyMergeStrategy in assembly) { 
    (old) => { 
    case PathList("META-INF", xs @ _*) => MergeStrategy.discard 
    case x => MergeStrategy.first 
    } 
} 

結果に:

xxx/build.sbt:25: error: not found: value assemblyMergeStrategy assemblyMergeStrategy in assembly <<= (assemblyMergeStrategy in assembly) {^[error] Type error in expression

インスピレーションの源はthis blogました。 Also tried the provided version as mergeStrategy might have been replaced by assemblyMergeStrategy

答えて

2

project/plugins.sbtファイルでアセンブリプラグインを参照しましたか? assemblyMergeStrategyはプラグインで定義されています。

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.3")