一、問題描述

  因java容易上手、使用廣泛...
  所以周遭較多人使用此工具...
  然而,
    工作環境的需求~
    需轉成C# 語言~
  SO~
    若能執行使用jar檔~
    可在轉換上省下不少時間

二、方法

成功建立 *.jar 檔
a. 將*.java檔案編譯成*.class檔案
 -->Dos: javac Hello.java
b. 開啟純文字編輯器,並輸入以下內容:
 Main-Class: Hello
 (此文件建議下方再空兩行,否則執行JAR檔案的時候會出現問題!)
 (這部份為網路上建議的,但我沒去試就是了 XD)
 並存檔為:manifest.mf,並將此檔案放至於*.class檔案所在的根目錄。

 manifest.mf  

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。)

 java-jar 

註:多個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 中沒有主要資訊清單屬性

  若出現以上錯誤資訊『*.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 位元資料模型 (如果有的話)

   。。。。。。

 

arrow
arrow

    HuangJung1216 發表在 痞客邦 留言(0) 人氣()