一、問題描述
因java容易上手、使用廣泛...
所以周遭較多人使用此工具...
然而,
工作環境的需求~
需轉成C# 語言~
SO~
若能執行使用jar檔~
可在轉換上省下不少時間
二、方法
成功建立 *.jar 檔
a. 將*.java檔案編譯成*.class檔案
-->Dos: javac Hello.java
b. 開啟純文字編輯器,並輸入以下內容:
Main-Class: Hello
(此文件建議下方再空兩行,否則執行JAR檔案的時候會出現問題!)
(這部份為網路上建議的,但我沒去試就是了 XD)
並存檔為:manifest.mf,並將此檔案放至於*.class檔案所在的根目錄。
c. 打包JAR檔
jar cvfm 自訂產生出來的jar檔名(含副檔名)manifest.mf *.class名稱(如果有一個以上,可用空格隔開)
-->Dos: jar cvfm hello.jar manifest.mf Hello.class
執行後會出現檔案壓縮的詳細情形~表示打包成功。
d. 測試*.jar檔案功能與否
-->Dos: java -jar JAR檔名
(若有出現錯誤、或無法執行,請檢查manifest的Main-Class是否有正確選到擁有程式進入點的Class。)
註:多個Class檔案(含Package)
1. 將要進行打包的Package資料夾整個放置於某個空的資料夾
方便使用。
2. 同上,開啟純文字編輯器,輸入以下內容:
Main-Class: 套件(Package)名稱/含有程式進入點(main方法)的Main Class名稱
注意要於下方需空兩行,避免執行JAR檔案的時候會出問題。
3. 開啟命令提示字元,並將工作目錄更變到JAR檔案的根目錄下,然後輸入以下指令:
jar cvfm 自訂產生出來的jar檔名(含副檔名) manifest檔名 套件資料夾名稱*.class(如果有多個套件可用空格隔開)
這裡要注意指令裡所包含的路徑。Windows中的路徑所使用目錄分隔符號為反斜線「」,Linux系統使用的符號則是斜線「/」。
4. 同上,執行後會出現檔案壓縮的詳細情形,表示打包成功。
5. 同上,嘗試執行.jar檔案,了解是否真的如期打包完畢~
三、錯誤: *.jar 中沒有主要資訊清單屬性
若出現以上錯誤資訊『*.jar 中沒有主要資訊清單屬性』,
請確認1. 是否manifest.mf 裡面的Main-class是對的
2. 是否 java -jar JAR檔名能如期執行出您要的效果...
四、若以上您皆無法執行,請回歸最原點~
確認您的JAVA執行環境
註:
想要執行Java程式,不管是.class還是.jar檔案...都還是需要透過JVM才有辦法,使用者必須先在系統內安裝包含JVM的JRE才可以運行Java程式;或者您需透過其它的JAVA開發軟體來使用。
安裝JRE(Java Runtime Environment)
Java下載網站:http://www.java.com/zh_TW/
確認電腦是否可以運行Java程式
在命令提示字元或是終端機中輸入並執行「java」指令。若沒有出現一大串英文字,則表示系統內並無Java執行環境。
若有出現一大串英文字,表示系統擁有執行Java的環境。
此一大串的英文子主要是介紹java的指令用法:
如:用法: java [-options] class [args...](執行類別)
或 java [-options] -jar jarfile [args...](執行 jar 檔案)
選項包括:
-d32 使用 32 位元資料模型 (如果有的話)
-d64 使用 64 位元資料模型 (如果有的話)
。。。。。。
留言列表