Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala sbt程序集和播放框架出错_Scala_Playframework_Sbt_Sbt Assembly - Fatal编程技术网

Scala sbt程序集和播放框架出错

Scala sbt程序集和播放框架出错,scala,playframework,sbt,sbt-assembly,Scala,Playframework,Sbt,Sbt Assembly,尝试构建一个play(2.6.6)+scala.js应用程序的胖罐子,得到 [错误](播放/*:程序集)重复数据消除:在以下位置发现不同的文件内容: [错误]/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-serve

尝试构建一个play(2.6.6)+scala.js应用程序的胖罐子,得到

[错误](播放/*:程序集)重复数据消除:在以下位置发现不同的文件内容: [错误]/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

build.sbt

mainClass in assembly := Some("play.core.server.ProdServerStart")
//fullClasspath in assembly += Attributed.blank(PlayKeys.playPackageAssets.value)
(灵感来自)

(但目前不使用playPackageAssets)

我的
assembly.sbt
只包含
addSbtPlugin(“com.eed3si9n”%“sbt assembly”%“0.14.5”)

我还尝试了“非标准”配置:


但也没有运气。如何以正确的方式修复该问题?

您需要告诉
sbt assembly
如何合并这两个
reference overrides.conf
config文件:

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)
}

我也遇到了同样的问题,通过添加以下内容来解决它

case PathList("play", "reference-overrides.conf")  => MergeStrategy.concat

事实上,我认为前面的那一行,即带有
endsWith.conf“
的那一行,会解决这个问题(是的,我看到它没有连接!),但是唉。。。谢谢尽管如此,仍然给了我完全相同的错误消息:((是的,sbt被刷新)@Sorona我认为我们的路径是错误的。请尝试:
case“reference overrides.conf”=>MergeStrategy.concat
相同,但可能我们不知何故查找了错误的文件?
[warn]将“reference.conf”与策略“concat”合并[error]合并过程中遇到1个错误,然后它显示到
引用覆盖.conf
@Sorona的路径。好的,这意味着它找到了文件。错误说明了什么?
case PathList("play", "reference-overrides.conf")  => MergeStrategy.concat