簡體   English   中英

使用SBT構建Scala以使JAR和文件夾具有依賴關系

[英]Building scala with SBT to make JAR and folder with dependencies

我在Scala中有一個項目(一種測試實用程序),當前僅以sbt run方式使用。 但是對於某些演示,我想以不需要預先安裝sbtscala的形式(僅JVM )來准備它。

首先,我嘗試使用sbt-assembly插件,但很快就迷失了重復條目。 所以現在我很好奇我是否可以將其編譯為:

  • 包含應用程序本身的單個jar文件;
  • lib目錄,其中包含原始的依賴項jar集。

我希望在這種情況下,借助Main-ClassClass-Path: ./lib/*中的Class-Path: ./lib/*字段可以很容易地運行-我錯了嗎? 如果這是正確的,我該如何實現?

更新:最后,我征服了(似乎是如此) sbt-assembly方法,所以現在的問題並不那么緊迫(盡管我仍然很好奇地擴展了使用sbt的知識)。

執行sbt-assembly ,所有功能,應用程序和資源都將打包到一個jar文件中。

您可以通過以下方式在運行時中覆蓋配置屬性:

java -cp conf/:myAppDemo.jar App.run.mainClass

將您的配置屬性文件放在conf文件夾中。

Sbt 一個jar插件可以解決更多的依賴沖突,然后是程序集插件。
還可以看一下程序集插件的合並部分,它可以幫助您解決諸如log4j.xml復制之類的問題。 如果您對兩個具有相同類路徑且內容不同的類有疑問,請嘗試排除一些重復的依賴項( 庫管理

暫無
暫無

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

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