⑴ java如何生成可執行程序
創建可執行的 JAR 文件包
製作一個可執行的 JAR 文件包來發布你的程序是 JAR 文件包最典型的用法。
Java 程序是由若干個 .class 文件組成的。這些 .class 文件必須根據它們所屬的包不同而分級分目錄存放;運
行前需要把所有用到的包的根目錄指定給 CLASSPATH 環境變數或者 java 命令的 -cp 參數;運行時還要到控制台下
去使用 java 命令來運行,如果需要直接雙擊運行必須寫 Windows 的批處理文件 (.bat) 或者 Linux 的 Shell 程序。
因此,許多人說,Java 是一種方便開發者苦了用戶的程序設計語言。
其實不然,如果開發者能夠製作一個可執行的 JAR 文件包交給用戶,那麼用戶使用起來就方便了。在 Windows 下
安裝 JRE (Java Runtime Environment) 的時候,安裝文件會將 .jar 文件映射給 javaw.exe 打開。那麼,對於一個
可執行的 JAR 文件包,用戶只需要雙擊它就可以運行程序了,和閱讀 .chm 文檔一樣方便 (.chm 文檔默認是由
hh.exe 打開的)。那麼,現在的關鍵,就是如何來創建這個可執行的 JAR 文件包。
創建可執行的 JAR 文件包,需要使用帶 cvfm 參數的 jar 命令,同樣以上述 test 目錄為例,命令如下:
jar cvfm test.jar manifest.mf test
這里 test.jar 和 manifest.mf 兩個文件,分別是對應的參數 f 和 m,其重頭戲在 manifest.mf。因為要創建可
執行的 JAR 文件包,光靠指定一個 manifest.mf 文件是不夠的,因為 MANIFEST 是 JAR 文件包的特徵,可執行的
JAR 文件包和不可執行的 JAR 文件包都包含 MANIFEST。關鍵在於可執行 JAR 文件包的 MANIFEST,其內容包含了
Main-Class 一項。這在 MANIFEST 中書寫格式如下:
Main-Class: 可執行主類全名(包含包名)
例如,假設上例中的 Test.class 是屬於 test 包的,而且是可執行的類
(定義了 public static void main(String[]) 方法),那麼這個 manifest.mf 可以編輯如下:
Main-Class: test.Test <回車>
這個 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且該
行以一個回車符結束即可。創建了 manifest.mf 文件之後,我們的目錄結構變為:
==
|-- test
| `-- Test.class
`-- manifest.mf
這時候,需要到 test 目錄的上級目錄中去使用 jar 命令來創建 JAR 文件包。也就是在目錄樹中使用「==」表
示的那個目錄中,使用如下命令:
jar cvfm test.jar manifest.mf test
之後在「==」目錄中創建了 test.jar,這個 test.jar 就是執行的 JAR 文件包。運行時只需要使用
java -jar test.jar 命令即可。
需要注意的是,創建的 JAR 文件包中需要包含完整的、與 Java 程序的包結構對應的目錄結構,就像上例一樣。
而 Main-Class 指定的類,也必須是完整的、包含包路徑的類名,如上例的 test.Test;而且在沒有打成 JAR 文件包
之前可以使用 java <類名> 來運行這個類,即在上例中 java test.Test 是可以正確運行的 (當然要在 CLASSPATH
正確的情況下)。
(忘記從哪兒下的了!!可能不太全!!)
⑵ 怎樣將編譯好的java程序打包成可執行文件
需要的工具myeclipse 、jar2exe
步驟:1、將Java項目導出成.jar包,滑鼠右鍵項目名,選擇導出
⑶ 怎樣把自己編寫的java程序變成jar可執行文件能舉個例子么
把自己編寫的java程序變成jar可執行文件的步驟如下:
1.最簡單直接的方法,選擇想打包的程序,右鍵export...
4.在機器上,設置好Jar文件的打開方式(別默認用解壓縮的工具打開就行),雙擊即可運行。
⑷ 如何把.java程序變成.exe可執行文件
有兩種比較易用的方法:
關於兩種將Java程序轉化為.exe程序工具的使用及比較
一 JSmooth
1.出品
Jsmooth,Sourceforge.NET
2. 類型
free
3. 下載
4. 步驟
a)利用Eclipse將所需要的主類打成可獨立運行的jar包,注意添加manifest屬性和MainClass。
b)新建一個Jsmooth工程
c) 在sketlon中選擇「Console「 或者 「Windowed「
d) 在Executable中的配置:
i. Executable Binary:填寫目的輸出源的名稱。如test.exe.
ii. Executable Icon :選擇一個好看點的圖標
iii. Current Driectory :.(表示當前工程目錄,當然也可行換成別的,As you wish.)
e) 在Application中的配置:
i. Classpath:選中我們所生成的jar包以及運行該jar文件所需要的類庫
ii. Main-Class:選中我們所需要運行的主類。
iii. 可選項Use an embedded jar:運行該exe時可能需要到的類庫(這里只能有一個類庫)。
f) 在JVM Selection中的配置:
i. Minimum JVM Version:寫一個需要運行該程序所需的最低的就JVM的版本,比如1.4
g) Compile:OK,編譯成功後,在你的輸出目錄上就會有一個嶄新的exe程序了。Just enjoy it.
二 exe4J
1. 出品
ej-technologies
2.類型
Shared software,needs license
3.下載
4. 步驟
a) 利用Eclipse將所需要的主類打成可獨立運行的jar包,注意添加manifest屬性和MainClass。
b) 新建一個exe4j工程
c) 選擇「JAR in exe「 mode
d) 在Configure application中的配置:
i. Short name:隨便寫.
ii. Ourput Driectory :選擇輸出路徑。
e) 在Configure Executable中的配置:
i. Executable type: 有三個選項,圖形,控制台.或服務。從簡單點開始吧,這里我們選console
ii. Executable name:填寫目的輸出源的名稱。如test.exe
iii. Icon file:exe圖標文件,但必須是.ico文件
f) 在Configure Java invocation中的配置:
i. Classpath:選中我們所生成的jar包以及運行該jar文件所需要的類庫
ii. Main-Class:選中我們所需要運行的主類。
iii.Arguments(可選項):輸入參數。我們這里暫不需要。
g)在Configure JRE中的配置:
i. Minimum Version:寫一個需要運行該程序所需的最低的就JVM的版本,比如1.4
h) 一直next,對於所遇到的步驟選項都默認,直到finish:OK。編譯成功後,在你的輸出目錄上就會有一個嶄新的exe程序了。Just enjoy it.
三 總結和比較
由Java生成exe的工具還有很多,上面兩種是我個人覺得用起來覺得比較方便的。兩者的原理基本相同,但具體用起來還是有一點點不太一樣的:
1.相同點
a) 最大的相同點當然是他們原理是互通的。都是通過將可運行的java程序打成可執行的jar包。再作轉換。
b) 所生成的exe可執行程序,需要在裝有比minimum version高的JVM環境下運行。
2. 不同點
a) 生成exe的時候,如果想要exe只需要pure JVM的環境(不需要第三方的類庫)就可以運行的話。在JSmooth需要將所有的用到的第三方類庫壓縮成一個jar包(因為它有個embeded jar的選項),這就比較麻煩,因為當需要的jar多於一個時候,就需要將這些jar包先用jar –xvf 解壓縮,在用jar –cvf重新製作新的jar文件,再放到embeded jar選項中去;而exe4J則會把classppath中所用到的jar包也會編譯到exe中去。
b) JSmooth是免費的;而exe4J是共享軟體,需要注冊,否則在執行exe的時候會彈出很惹人煩的提示框。
c)ico文件的選擇:exe4J要求嚴格的ico文件,而JSmooth則可以兼容jpg等其他各式的圖片。