簡體   English   中英

使JAR作為獨立的可執行文件

[英]Make JAR as a standalone executable

有沒有辦法將JAR lib轉換為JAR獨立版本? 我需要找到一個將PDF轉換為TIFF的獨立Java可執行文件,並且找到了以下JAR: http : //www.icefaces.org/JForum/posts/list/17504.page

有任何想法嗎?

最簡單的方法是使用Main()入口點創建另一個Jar,然后僅使用java.exe可執行文件運行它:

例如

> java.exe -cp MyJarMain.jar;MyPDFJar.jar com.mydomain.MyMain myPDF.pdf

其中MyMain是具有Main靜態方法的類。

您將需要帶有主入口點的東西來傳遞並解釋一些命令行參數(在我的虛構示例中為myPDF.pdf)

您可以進行匯編(是否正在使用maven?),並確保manifest.mf中的Main-Class條目指向主類。

由於沒有main-Method,因此您必須編寫一個或編寫一個新類來調用該類/方法TiffConver.convertPDF。

問題是,您將如何使用它。 從命令行,您不需要可執行的jar。 在Gui中,也許您想傳遞要通過拖放轉換的文件? 然后,您應該將傳遞給main的參數作為Input-PDF-Names(如果它們以.pdf結尾),然后將名稱迭代傳遞給TiffConverter,例如“ a.pdf b.pdf” => TiffConver.convertPDF(“ a.pdf”,“ a.tiff”); TiffConver.convertPDF(“ b.pdf”,“ b.tiff”);

TiffCoverter會靜​​默覆蓋現有的tiff,因此請在進行檢查之前或在此處更改代碼-這顯然是個壞習慣,請注意更多此類事情-我沒有。

/*
 * Remove target file if exists
 */
File f = new File(tif);
if (f.exists()) {
    f.delete();
}

也許您不需要編寫擺動包裝紙,讓您以交互方式選擇要轉換的文件。 如果沒有給出文件名,這將是一個不錯的想法。

如果用戶通過“ a.pdf xy.tiff”,則可以將轉換后的文件重命名為xy,作為附加功能。

但是,如果沒有主類,那么一個獨立的jar就是魔術。

但是,建立本地執行程序幾乎總是一個壞主意。 您失去了可移植性,您無法從JVM的安全性和性能改進或已修復的錯誤中受益。 對於多個程序,如果沒有大多數Linux發行版所具有的包管理功能,則始終需要一個獨立的錯誤修正,您可能需要管理該錯誤修正。


清除一些問題后:

public static void main (String [] args) {

    if (args.length == 1 && args[0].endsWith (".pdf")) {
        String target = args[0].replaceAll (".pdf$", ".tif");
        convertPDF (args[0], target);
    }
}

您將此方法放入TiffConvert。 它將允許您轉換一個簡單的pdf文件,並生成一個具有相同基本名稱但以.tif結尾的tif文件,從而無聲地覆蓋現有的相同名稱的文件。

我想您現在需要知道如何開始?

暫無
暫無

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

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