一、使用命令實現打包
1.1 完成單個文件打包
(1)首先,在d盤新建jarTlh文件夾,然後編寫Java類Tlh。該類中代碼爲:
public class Tlh {
public static void main(String[] args) {
System.err.println("您好,打包成功");
}
}
將該文件保存在“D:\jarTlh”文件夾中。
(2)打開“命令提示符”。在控制檯中輸入“D:”命令,將當前位置切換到D盤根目錄下。再通過命令“cd jarFirst”將當前位置切換到“D:\jarTlh”命令下。
(3)在“命令提示符”控制檯輸入“javacTlh.java”,編譯源程序。源程序被編譯後,會在相同位置生成“.class”文件,這是編譯後的字節碼文件。
(4)繼續輸入命令“jar vcf Tlh.jar Tlh.class”,生成Tlh.jar文件。
(5)通過上例生成的Tlh.jar文件,將其用WinRAR打開。會發現在META-INF下會有個MAINFEST.MF文件。將該文件的內容後面添加Main-Class屬性,指定jar文件的入口類。
(6)運行jar文件。在“命令提示符”的控制檯中,輸入命令"java -jar Tlh.jar"。
1.2 完成打包多個文件
一個jar文件中只包含一個class文件並不常見,大多數情況下。一個jar文件中都有很多個class文件。
例如,在“D:Tlh目錄”下,存在Second.java、Third.java文件,這兩個文件中的代碼如下所示:
public class Second{
public static void main(String args[]){
Third third = new Third();
System.out.println("編程");
}
}
public class Third{
public Third(){
System.out.println("學Java");
}
}
首先,通過“javac”目錄編譯源程序。然後,通過“jar”命令生成jar文件。
1.3將某目錄中所有classs文件都打包
例如在jarTlh目錄中創建classes文件夾。將要進行打包的class文件保存在classes文件夾下。並將classes文件夾下的所有文件都進行打包。
小結:
(1)多個文件的打包與單個文件打包語法相同。只要將要進行打包的class文件之間添加空格即可。
(2)如果打包的文件中包含資源文件,如(如*.gif、*.jpg、*.jpeg)。資源文件名不可以使用中文名,應使用英文的資源文件名稱。否則打包後的jar文件會因爲無法識別該資源文件,導致程序無法正常運行。
(3)如果要將某目錄中所有classs文件都打包,可以使用“目錄名稱\ .”命令完成打包。(\與.之間有空格)。
(4)命令“jar vcf Frist.jar Frist.class”爲生成Jar文件命令。該命令的語法格式爲:
jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目錄] 文件
個選項說明:
c:創建新的存檔。
t:列出存檔內容的列表。
x:展開存檔中的命名的文件。
u:更新已存在的存檔。
v:生成詳細輸出到標準輸出上。
f:指定存檔文件名。
m:包含來自標明文件的標明信息。
0:存儲格式。
M:不生成所有向的清單(MANIFEST.MF)文件。
i:指定jar文件產生索引信息。
C:改變到指定的目錄。
二、在MyEclipse中實現程序打包
使用命令可以實現程序打包,但如果想要對很多文件、或者是整個項目進行打包,就很不方便。打開MyEclipse,選中我們要打包的項目,右鍵選擇“Export”。
第二步,點擊“Java----->JAR file”。
第三步,點擊"Next"進去jar打包之後,選擇要打包的項目,然後選擇導出去的jar路徑。
第四步選好路徑,對打包成jar的文件,進行命名,點擊保存,然後繼續點擊finish。