我看到有從開源的Java編寫的軟件從一個可執行文件運行。一個例子是PDFsam。它與我學到的有關Java是一種多平臺,字節碼編譯語言的知識相矛盾。我很困惑。有人可以解釋嗎?Java編寫的軟件項目如何最終成爲可執行文件?
2
A
回答
2
通常,Java程序通過調用Java字節碼解釋器來運行,例如,
java -cp myprogram.jar
這對任何支持JDK的平臺都有效(至少在理論上)。
但是一些程序(如Eclipse)添加平臺特定的代碼,以便它看起來更好,在Windows/Mac上運行得更順暢。
這通常通過.jar文件中的.exe包裝來完成。
所以總結起來:
程序,提供一個.exe文件(或的.app)文件中直接執行不是100%的Java。
1
您是否熟悉gcj?這是將Java代碼編譯成可執行文件的一種方法。還有其他的方法。
2
看起來像一個安裝.exe給我,而不是項目本身。我只是下載並運行它。它將代碼安裝到我的系統中;這是所有的Java下面。
貌似起動器是一個.exe文件太多,但它是使用Java Swing的UI:
PDF Split and Merge basic
Version: 2.2.1
Console version: 2.4.0e
Developed by: Andrea Vacondio
Build date: 31-Oct-2010
Java home: C:\Program Files\Java\jre6
Java version: Java(TM) SE Runtime Environment 1.6.0_21-b07
Max memory: 247Mb
Configuration file: C:\Program Files\pdfsam\pdfsam-config.xml
Website: http://www.pdfsam.org
-1
當然,還有各種方式將彙編成可執行文件進行優化的Java程序。請記住,這意味着它是專門針對該平臺編譯的。正如你正確地指出的那樣,Java的優點(只寫一次,在任何地方運行)都會丟失。但是,如果您希望運行一個封閉的系統來控制硬件和服務器環境,那麼提取每盎司的性能可能很重要。
0
最有可能這個應用程序只是一個可執行的啓動程序,而不是用所有必要的參數調用java虛擬機。一些軟件,你可以看看這樣做是:
- JSmooth
- Jar2Exe
- Launch4j
這個網站解釋了很多關於可執行Java文件。 http://www.excelsior-usa.com/articles/java-to-exe.html
0
您鏈接到的項目包括啓動JVM的批處理文件(Windows)和shell腳本(* nix)。如果你查看bin
目錄,你會看到它們。
相關問題
- 1. 如何在eclipse中生成java項目的可執行文件
- 2. 將java項目編譯爲可執行文件
- 3. 如何編寫生成文件以在不同的目錄中生成目標文件和可執行文件?
- 4. 如何最好地將C++/Cython項目編譯成可執行文件?
- 5. 如何編寫clisp可執行文件?
- 6. 如何編譯成可執行文件
- 7. 如何從Eclipse插件項目生成可執行文件.jar?
- 8. 如何爲我的Java程序製作最終的可執行文件?
- 9. 把我的java項目變成可執行文件
- 10. 如何製作java fx 2.0項目的可執行文件
- 11. 如何爲父JavaScript文件編寫可執行的jQuery?
- 12. 如何爲Java上編寫的程序創建可執行文件?
- 13. 生成最快的可執行文件
- 14. 如何爲php項目創建.exe可執行文件
- 15. 如何爲VC++項目設置啓動可執行文件?
- 16. 如何爲Odoo項目創建可執行文件?
- 17. 如何爲python項目製作可執行文件
- 18. 如何在可執行文件完成時將可執行文件的輸出寫入文件?
- 19. 好的軟件和編寫可執行規格的技巧
- 20. 如何編寫.S文件並將其製作爲可執行文件?
- 21. Pyinstaller - 從最終可執行文件中排除文件
- 22. 最好的方式執行內部文件到Java項目
- 23. 如何在java中編寫文件索引軟件?
- 24. 如何將C文件編譯爲可執行文件(.exe)?
- 25. 用java編寫的軟件進行數字簽名集成
- 26. 如何編寫複雜的可執行文件?
- 27. 靜態文件(如可執行文件)添加到項目
- 28. 許可軟件作爲開源軟件,但對已編譯的可執行文件收費?
- 29. 如何在目錄中找到最新的可執行文件
- 30. 如何爲自動化目的編寫軟件?
不!現在我很高興聽到它。你知道那個使用gcj的着名項目嗎? – Yakob 2011-04-26 22:26:35