有時候為了更方便快捷的部署和執行Java程序,要把java應用程序打包成一個jar包。而這個基礎的操作有時候也很麻煩,為了方便java程序員們能夠方便的打包java應用程序,下面對jar命令進行介紹,并舉出幾個簡單例子針對不同情況進行打包。
一. jar命令用法:
在cmd命令窗口下輸入jar,回車,就會提示改命令的用法:

二.例子(這里介紹的都是生成雙擊可執行的jar包):
1.首先介紹如何在命令行下執行打包程序。
1.1.沒有包結構的最簡單的工程。
(1)在c:盤下新建文件“HelloWorld.java”:
1 public class HelloWorld
2 {
3 public static void main(String[] args){
4 System.out.println("Hello world!");
5 }
6 }
(2)在命令行下輸入c:\javac HelloWorld.java,在c:盤下編譯生成“HelloWorld.class”。
(3)在c:盤下新建文件“menefest”(沒有后綴名):
Main-Class: HelloWorld
注意最后要有一個空行,否則會出現找不到類的錯誤。
(4)打包:輸入c:\jar cvmf menifest HelloWorld.jar HelloWord.jar HelloWorld.class,在c:盤下生成“HelloWorld.jar”。
(5)執行:輸入c:\java -jar HelloWord.jar。屏幕回顯“HelloWorld”。
1.2.有包結構的java工程。
(1)在c:\com\gosyl\demo\下新建文件“HelloWorld.java”:
package com.gosyl.demo;
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
(2)在命令行下輸入c:\javac com/gosyl/demo/HelloWorld.java,在c:\com\gosyl\demo\文件夾下編譯生成“HelloWorld.class”。
(3)在c:盤下新建文件“menefest2”(沒有后綴名):
Main-Class: com.gosyl.demo.HelloWorld
注意最后要有一個空行,冒號后面要一個空格。否則會出現找不到類的錯誤。
(4)打包:輸入c:\jar cvmf menifest2 HelloWorld.jar HelloWord.jar com/,在c:盤下生成“HelloWorld.jar”。
(5)執行:輸入c:\java -jar HelloWord.jar。屏幕回顯“HelloWorld”。
1.3.引用到外部jar包的java工程。
(1)在c:\com\gosyl\demo\下新建文件“Car.java”:
package com.gosyl.demo;
public class Car
{
public static void main(String[] args){
Light.on();
}
}
(2)在c:\com\gosyl\demo\下新建文件“Light.java”:
package com.gosyl.demo;
class Light
{
public static void on(){
System.out.println("Light is on!");
}
}
(3)打包1:輸入c:\jar cvf Light.jar com/gosyl/demo/Light.class,在c:盤下生成“Light.jar”。
(4)在c:盤下新建文件“menefest-car”(沒有后綴名):
Main-Class: com.gosyl.demo.Car
Class-Path: Light.jar
注意最后要有一個空行,冒號后面要一個空格。否則會出現找不到類的錯誤。
(5)打包2:輸入c:\jar cvmf menifest-car Car.jar com/gosyl/demo/Car.class,在c:盤下生成“Car.jar”。
(6)執行:輸入c:\java -jar Car.jar。屏幕回顯“Light is on”。
三.總結
1.清單文件menifest,對格式要求很高,注意每個冒號后面要有一個空格,文件最后要有一個空行。
2.對于引用到外部jar包的工程,需要在manifest中定義好Class-Path屬性。
3.對于雙擊.bat文件出現刷屏現象的情況,請直接把.bat文件的內容鍵入命令行執行。
4.對于重復簽名的jar包,在META-INF里面會出現多個簽名文件,刪除掉多余的,保存其中一個才能保證jws正常啟動。
posted on 2008-04-18 20:52
gosyl 閱讀(26291)
評論(3) 編輯 收藏 所屬分類:
j2se