posts - 58,  comments - 45,  trackbacks - 0
                  有時候為了更方便快捷的部署和執行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
          主站蜘蛛池模板: 兴山县| 永清县| 綦江县| 凤庆县| 青州市| 阳春市| 四川省| 岗巴县| 湛江市| 固镇县| 黄浦区| 宣化县| 涿鹿县| 永福县| 寻乌县| 汽车| 台山市| 布尔津县| 元江| 肥东县| 聂拉木县| 锡林郭勒盟| 广河县| 娄烦县| 沂源县| 安宁市| 册亨县| 镇巴县| 格尔木市| 土默特右旗| 星子县| 新野县| 偃师市| 越西县| 鄢陵县| 启东市| 五台县| 外汇| 日土县| 浦江县| 彩票|