簡體   English   中英

通過創建帶有sbt和sbt-assembly的胖罐解決eclipselink的依賴關系?

[英]Resolving Dependencies for eclipselink by creating a fat jar with sbt and sbt-assembly?

我嘗試使用Scala和EclipseLink JPA為我的項目使用sbt和sbt-assembly插件創建一個胖罐,但是Assembly命令失敗,因為eclipse.inf文件將被發現兩次。

> assembly
[info] Including from cache: commonj.sdo-2.1.1.jar
[info] Including from cache: javax.persistence-2.1.0.jar
[info] Including from cache: scala-library.jar
[info] Including from cache: eclipselink-2.5.1.jar
[info] Run completed in 38 milliseconds.
[info] Checking every *.class/*.jar file's SHA-1.
[info] Merging files...
[warn] Merging 'org\eclipse\persistence\descriptors\copying' with strategy 'rename'
[warn] Merging 'META-INF\MANIFEST.MF' with strategy 'discard'
[trace] Stack trace suppressed: run last *:assembly for the full output.
[error] (*:assembly) deduplicate: different file contents found in the following:
[error] C:\Users\u987\WebApps\gr\lib_managed\jars\org.eclipse.persistence\javax.persistence\jav    ax.persistence-2.1.0.jar:META-INF/eclipse.inf 
[error] C:\Users\u987\WebApps\gr\lib_managed\jars\org.eclipse.persistence\commonj.sdo\commonj.sdo-2.1.1.jar:META-INF/eclipse.inf

我的build.sbt看起來像:

import AssemblyKeys._

name := "TelegramReceiver"

version := "0.1"

scalaVersion := "2.10.3"

retrieveManaged in ThisBuild := true

libraryDependencies ++= Seq(
  "org.scalatest" % "scalatest_2.10" % "2.0" % "test",
  "org.eclipse.persistence" % "eclipselink" % "2.5.1" 
)

我嘗試使用sbt程序集插件中的mergeStrategy解決問題,但是它不起作用。 我使用sbt 0.13.1。

在此先感謝您的幫助!

您可以將自定義合並策略添加到設置中,如下所示:

  mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) =>
  {
    case PathList("eclipse.inf") => MergeStrategy.rename // use any of the available strategies like `first`
    case x => old(x)
  }}

有關更多詳細信息,請參見此文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM