2016-08-13 78 views
1

我正在依靠對7z(LGPL)的殼調用來處理我正在進行的項目的重要部分:特別是,打開.cbr文件。我的問題是,我無法保證能夠在用戶的計算機上找到它(假設它甚至在他們的計算機上)。我可以用我的程序打包外部工具嗎?

是否有一些方法可以將其二進制文件保存在我的編譯工具中,所以我不必擔心在外部調用它們? (我的印象是這是jar文件的用途,但我不確定。)

或者如果這是不可能的,那麼標準的方法是什麼?

回答

1

通常來說,這是您希望獲得庫依賴性來處理文件解壓縮的地方。有些人用Apache Commons Compress,這就需要this library dependency在SBT構建定義:

libraryDependencies += "org.apache.commons" % "commons-compress" % "1.5" // Or whatever version you need 

或者,您可以包括exe文件中resources文件,將得到包含您的構建 - 假設可執行文件並不需要在系統級安裝。這可以像創建src/main/resources目錄並將文件放在那裏一樣簡單。儘管如此,你的jar版本只能在下工作,所以在走這條路線之前要三思。除非需要使用7-zip來解壓縮文件,否則最好使用Java或Scala兼容庫,並避免必須進行shell調用。

相關問題