2011-04-26 73 views

回答

2

通常,Java程序通過調用Java字節碼解釋器來運行,例如,

java -cp myprogram.jar 

這對任何支持JDK的平臺都有效(至少在理論上)。

但是一些程序(如Eclipse)添加平臺特定的代碼,以便它看起來更好,在Windows/Mac上運行得更順暢。

這通常通過.jar文件中的.exe包裝來完成。

所以總結起來:

程序,提供一個.exe文件(或的.app)文件中直接執行不是100%的Java。

1

您是否熟悉gcj?這是將Java代碼編譯成可執行文件的一種方法。還有其他的方法。

+0

不!現在我很高興聽到它。你知道那個使用gcj的着名項目嗎? – Yakob 2011-04-26 22:26:35

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虛擬機。一些軟件,你可以看看這樣做是:

  1. JSmooth
  2. Jar2Exe
  3. Launch4j

這個網站解釋了很多關於可執行Java文件。 http://www.excelsior-usa.com/articles/java-to-exe.html

0

您鏈接到的項目包括啓動JVM的批處理文件(Windows)和shell腳本(* nix)。如果你查看bin目錄,你會看到它們。

相關問題