文章出處

        有時候為了更方便快捷的部署和執行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正常啟動。
        
       
請參照相關文章此文章貌似有錯:

java項目打包與發行


文章列表


不含病毒。www.avast.com
全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()