我創建了一個JAR文件,我想在客戶端上運行它。我有幾個問題:如何將JAR文件轉換爲EXE文件?
- 如何將JAR文件轉換爲EXE文件?
- 如何加密JAR文件的內容? jar文件可以用WinRAR提取,並且可以用任何Java反編譯器反編譯這些類。
- 如何創建安裝程序?我的客戶沒有任何JVM,我也不想隨身攜帶JDK或JRE,因爲它們尺寸很大。
我創建了一個JAR文件,我想在客戶端上運行它。我有幾個問題:如何將JAR文件轉換爲EXE文件?
看到這個鏈接:Java to Exe。它還解釋了什麼是有效的原因,以及什麼時候不應該。
您不能真正加密二進制文件,因爲機器必須理解它們。也就是說,優化的可執行文件非常難於反編譯,而普通的類文件很容易。
如果你有一個exe,那麼安裝程序就足夠了。
至於1):我想你不能。可能有工具存在,但不能用JDK附帶的標準工具來實現,因爲它會破壞平臺獨立性。 (請參閱提供此類第三方工具鏈接的其他答案)
至於3):使用InnoSetup創建安裝程序。在安裝程序中包含JRE並讓InnoSetup即時安裝。
我無法真正看到平臺獨立性作爲一項要求。您通常針對的是觀衆,而不是平臺。如果他們已經標準化了一個環境,您可以定位並測試該環境。 – extraneon 2010-02-16 10:43:45
我的意思是,由於平臺獨立性的原因,這種工具不會隨JDK一起發貨。 JDK提供了工具來爲任何平臺上的任何平臺構建和打包應用程序。 – 2010-02-16 12:20:26
您無法防止反編譯。你可以做的最好的做法是讓它變得更加困難或者更耗時。儘管如此,作爲對您問題的回答,我相信您可以使用gcj將Java編譯爲EXE。
+1指出試圖防止逆向工程的徒勞無益。 – 2010-02-16 11:04:31
可能是Excelsior JET會滿足您的需求。)恕我直言,非常成熟的產品。
如果你把jar轉換成exe(在我想的windows上),它可能會在exe文件中拉一半的jre來滿足依賴關係。 – extraneon 2010-02-16 10:30:59
http://yuvadeveloper.blogspot.com/2009/03/convert-jar-files-to-exe.html – 2010-08-22 18:11:05