我正在尝试使用SBT程序集插件创建一个可执行的jar。
我将以以下错误告终:
[error] (app/*:assembly) deduplicate: different file contents found in the following:
[error] /Users/rajeevprasanna/.ivy2/cache/org.eclipse.jetty.orbit/javax.servlet/orbits/javax.servlet-3.0.0.v201112011016.jar:about.html
[error] /Users/rajeevprasanna/.ivy2/cache/org.eclipse.jetty/jetty-continuation/jars/jetty-continuation-8.1.8.v20121106.jar:about.html
[error] /Users/rajeevprasanna/.ivy2/cache/org.eclipse.jetty/jetty-http/jars/jetty-http-8.1.8.v20121106.jar:about.html
[error] /Users/rajeevprasanna/.ivy2/cache/org.eclipse.jetty/jetty-io/jars/jetty-io-8.1.8.v20121106.jar:about.html
[error] /Users/rajeevprasanna/.ivy2/cache/org.eclipse.jetty/jetty-security/jars/jetty-security-8.1.8.v20121106.jar:about.html
[error] /Users/rajeevprasanna/.ivy2/cache/org.eclipse.jetty/jetty-server/jars/jetty-server-8.1.8.v20121106.jar:about.html
[error] /Users/rajeevprasanna/.ivy2/cache/org.eclipse.jetty/jetty-servlet/jars/jetty-servlet-8.1.8.v20121106.jar:about.html
[error] /Users/rajeevprasanna/.ivy2/cache/org.eclipse.jetty/jetty-util/jars/jetty-util-8.1.8.v20121106.jar:about.html
[error] /Users/rajeevprasanna/.ivy2/cache/org.eclipse.jetty/jetty-webapp/jars/jetty-webapp-8.1.8.v20121106.jar:about.html
[error] /Users/rajeevprasanna/.ivy2/cache/org.eclipse.jetty/jetty-xml/jars/jetty-xml-8.1.8.v20121106.jar:about.html
[error] Total time: 2562 s, completed Dec 5, 2013 12:03:25 PM在阅读了组装插件的wiki之后,我在build.scala文件中添加了合并策略。看来不管用了。我不知道这是不是正确的解决办法。有人能给我建议正确的策略吗。
下面是我在build.scala文件中的代码:
mergeStrategy in assembly <<= (mergeStrategy in assembly) {
(old) => {
case "about.html" => MergeStrategy.discard
case "logback.xml" => MergeStrategy.first //case PathList("logback.xml") => MergeStrategy.discard
case x => old(x)
}
}我已经按照下面的doc:Scalatra servlet的独立部署与我的应用程序进行了编码插件集成
我尝试过不同的策略,比如MergeStrategy.rename和MergeStrategy.deduplicate。但什么都没用..。寻求帮助..。
发布于 2013-12-07 01:48:04
你的MergeStrategy看起来是正确的。唯一未处理的冲突是jetty中的"about.html“,因此case "about.html" => MergeStrategy.discard应该只执行它。
如果您仍然收到错误,我怀疑mergeStrategy in assembly设置的重新布线要么没有按错误的顺序进行,要么按错误的顺序进行。唯一确定的方法是查看您的Build.scala。@Stefan Ollinger对您的链接问题的回答将项目设置为:
lazy val project = Project("myProj", file(".")).
settings(mySettings: _*).
settings(myAssemblySettings:_*)如果可能的话,你能把你的Build.scala贴在要旨上吗?
https://stackoverflow.com/questions/20393283
复制相似问题