[英]How to fix the error about sbt in the idea IDE?
I met a strange error in the idea IDE of the sbt, the merge strategy is as follows,在sbt的idea IDE中遇到一个奇怪的错误,合并策略如下,
mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) =>
{
case m if m.toLowerCase.endsWith("manifest.mf") => MergeStrategy.discard
case m if m.startsWith("META-INF") => MergeStrategy.discard
case PathList("javax", "servlet", xs @ _*) => MergeStrategy.first
case PathList("org", "apache", xs @ _*) => MergeStrategy.first
case PathList("org", "jboss", xs @ _*) => MergeStrategy.first
case "about.html" => MergeStrategy.rename
case "reference.conf" => MergeStrategy.concat
case _ => MergeStrategy.first
}
}
It seems fine, but unfortunately, the IDE complains one error, it is看起来不错,但不幸的是,IDE 报错了一个错误,它是
Cannot resolve reference <<= with such signature
Type mismatch,expected:Def.Initialize[(String) => Plugin.MergeStrategy],
actual:Def.Initialize[Any].
Anyone can explain this to me and how to fix this issue please?任何人都可以向我解释这一点以及如何解决这个问题?
mergeStrategy
(and the <<=
operator) is deprecated.不推荐使用mergeStrategy
(和<<=
运算符)。 Use assemblyMergeStrategy
instead:使用assemblyMergeStrategy
代替:
assemblyMergeStrategy in assembly := {
case m if m.toLowerCase.endsWith("manifest.mf") => MergeStrategy.discard
case m if m.startsWith("META-INF") => MergeStrategy.discard
case PathList("javax", "servlet", xs@_*) => MergeStrategy.first
case PathList("org", "apache", xs@_*) => MergeStrategy.first
case PathList("org", "jboss", xs@_*) => MergeStrategy.first
case "about.html" => MergeStrategy.rename
case "reference.conf" => MergeStrategy.concat
case s => MergeStrategy.defaultMergeStrategy(s)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.