2017-10-21 8 views
2

を再生SBT-アセンブリとエラーとなって、遊び(2.6.6)+ scala.jsアプリケーションの脂肪jarを構築しようとするフレームワーク

[エラー](プレイ/ *:アセンブリ)重複排除:次のファイルの内容が異なる: [エラー] /home/user/.ivy2/cache/com.typesafe.play/play_2.12/jars/play_2.12-2.6.6.jar:play/reference-overrides。 conf [エラー] /home/user/.ivy2/cache/com.typesafe.play/play-akka-http-server_2.12/jars/play-akka-http-server_2.12-2.6.6.jar:play /reference-overrides.conf

mainClass in assembly := Some("play.core.server.ProdServerStart") 
//fullClasspath in assembly += Attributed.blank(PlayKeys.playPackageAssets.value) 
https://www.playframework.com/documentation/2.6.6/Deploying#Using-the-SBT-assembly-pluginに触発さ)

(ただし、現時点ではplayPackageAssetsを使用して)

assembly.sbtは、私はまた、 "非標準" 設定で試しただけaddSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.5")

が含まれています:

assemblyMergeStrategy in assembly := { 
// Building fat jar without META-INF 
case PathList("META-INF", xs @ _*) => MergeStrategy.discard 
// Take last config file 
case PathList(ps @ _*) if ps.last endsWith ".conf" => MergeStrategy.last 
case o => 
    val oldStrategy = (assemblyMergeStrategy in assembly).value 
    oldStrategy(o) 
} 

でも運はない。 /その正しい方法を修正するには?

答えて

2

あなたはこれらの2つのreference-overrides.conf設定ファイルマージする方法sbt-assemblyを伝える必要があります: `endsWith「の.conf」と1は`、はい(それの世話をするだろう、その前に実際に私がラインと考え

assemblyMergeStrategy in assembly := { 
// Building fat jar without META-INF 
case PathList("META-INF", xs @ _*) => MergeStrategy.discard 
// Take last config file 
case PathList(ps @ _*) if ps.last endsWith ".conf" => MergeStrategy.last 
case PathList("reference-overrides.conf") => MergeStrategy.concat 
case o => 
    val oldStrategy = (assemblyMergeStrategy in assembly).value 
    oldStrategy(o) 
} 
+0

を私はそれが連結していないことを参照してください!)しかし、悲しいかな...ありがとう! – Sorona

+0

でも、まったく同じエラーメッセージが表示されます:(yes、sbtが更新されました) – Sorona

+0

@Sorona私はパスが間違っていると思っています: 'case" reference-overrides.conf => MergeStrategy.concat' –

関連する問題