『壹』 怎樣在cmd中,將java打包為jar包~
在命令行下打包jar使用如下命令:
jar cvf filename.jar foldername
可以使用JAR命令進行打包
下面是jar命令的幫助說明:
用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
選項包括:
-c 創建新的歸檔文件
-t 列出歸檔目錄
-x 解壓縮已歸檔的指定(或所有)文件
-u 更新現有的歸檔文件
-v 在標准輸出中生成詳細輸出
-f 指定歸檔文件名
-m 包含指定清單文件中的清單信息
-e 為捆綁到可執行 jar 文件的獨立應用程序
指定應用程序入口點
-0 僅存儲;不使用任何 ZIP 壓縮
-M 不創建條目的清單文件
-i 為指定的 jar 文件生成索引信息
-C 更改為指定的目錄並包含其中的文件
如果有任何目錄文件,則對其進行遞歸處理。
清單文件名、歸檔文件名和入口點名的指定順序
與 "m"、"f" 和 "e" 標志的指定順序相同。
示例 1:將兩個類文件歸檔到一個名為 classes.jar 的歸檔文件中:
jar cvf classes.jar Foo.class Bar.class
示例 2:使用現有的清單文件 "mymanifest" 並
將 foo/ 目錄中的所有文件歸檔到 "classes.jar" 中:
jar cvfm classes.jar mymanifest -C foo/ .
下文假設編譯後的class文件在bin目錄下
『貳』 如何用jar命令對java工程進行打包
一. 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 程序打成jar包啊
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目錄] 文件名 ...
選項:
-c 創建新的存檔
-t 列出存檔內容的列表
-x 展開存檔中的命名的(或所有的〕文件
-u 更新已存在的存檔
-v 生成詳細輸出到標准輸出上
-f 指定存檔文件名
-m 包含來自標明文件的標明信息
-0 只存儲方式;未用zip壓縮格式
-M 不產生所有項的清單(manifest〕文件
-i 為指定的jar文件產生索引信息
-C 改變到指定的目錄,並且包含下列文件:
如果一個文件名是一個目錄,它將被遞歸處理。
清單(manifest〕文件名和存檔文件名都需要被指定,按'm' 和 'f'標志指定的相同順序。
『肆』 如何把使用命令行或者Eclipse將Java程序打包為jar文件
如何把寫好的Java程序打包為jar文件呢?
一、用Eclipse來創建
1、選擇項目,點擊右鍵,選擇「export」;
2、選擇"java->Runnable JAR file";
3、選擇保存的路徑,點擊「Finish」即可。
二、命令行的方式:
1.打包
jar cf JAR文件名稱 程序文件名稱或者程序所在的文件夾
舉例:
jar cf MyApp.jar /home/xxx/xxx
2.查看一個jar文件的內容
jar tvf JAR文件名稱
舉例:
jar tvf MyApp.jar
3.將一個jar文件解壓縮
jar xf JAR文件名稱
舉例:
jar xf MyApp.jar
4.往壓縮包裡面增加文件
jar xf JAR文件名稱 添加的文件或者其他的jar文件
舉例:
jar xf MyApp.jar Test.class
5.更新一個jar文件
jar uf JAR文件名稱 更新的文件或者其他的jar文件
舉例:
jar uf MyApp.jar Test.class
6.運行一個jar程序
java -jar JAR文件名稱
舉例:
java -jar MyApp.jar
7.創建一個可以運行的jar文件
首先必須有一個主類(Main Class);接著創建一個叫做MANIFEST.MF的文本,然後把以下內容拷貝進去。
Manifest-Version: 1.0
Main-Class: YourMainClass
這個YourMainClass就是程序中包含main方法的那個class,下面的語句用來創建可執行的jar文件。
jar cvfm MyApp.jar MANIFEST.MF 文件或文件夾路徑
『伍』 java應用程序怎樣打包成可jar執行程序
可以使用JAR命令進行打包
下面是jar命令的幫助說明:
用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
選項包括:
-c 創建新的歸檔文件
-t 列出歸檔目錄
-x 解壓縮已歸檔的指定(或所有)文件
-u 更新現有的歸檔文件
-v 在標准輸出中生成詳細輸出
-f 指定歸檔文件名
-m 包含指定清單文件中的清單信息
-e 為捆綁到可執行 jar 文件的獨立應用程序
指定應用程序入口點
-0 僅存儲;不使用任何 ZIP 壓縮
-M 不創建條目的清單文件
-i 為指定的 jar 文件生成索引信息
-C 更改為指定的目錄並包含其中的文件
如果有任何目錄文件,則對其進行遞歸處理。
清單文件名、歸檔文件名和入口點名的指定順序
與 "m"、"f" 和 "e" 標志的指定順序相同。
示例 1:將兩個類文件歸檔到一個名為 classes.jar 的歸檔文件中:
jar cvf classes.jar Foo.class Bar.class
示例 2:使用現有的清單文件 "mymanifest" 並
將 foo/ 目錄中的所有文件歸檔到 "classes.jar" 中:
jar cvfm classes.jar mymanifest -C foo/ .
下文假設編譯後的class文件在bin目錄下
要打包成可運行的jar包,有兩種方法,一是手動創建MANIFEST.MF文件,並在其中指定主類;二是使用jar的-e參數指定可運行jar包的入口點(即main類的完全名稱).
『陸』 JAVA打包jar文件的方法,高分相求
^^java教程^^《製作可執行JAR》本文闡述了如何把一個不可執行的JAVAArchive(JAR)文件變成可執行,而不用直接操作manifest文件。你會學到寫出短小的一個程序,通過運行java-jar命令或在像windows一樣的操作系統裡面用雙擊滑鼠運行任何JAR文件。
你可以很容易地把應用程序的一整套class文件和資源文件打包到一個JAR中。事實上這就是jar文件存在的一個目的。另外一個目的就是讓用戶能很容易地執行被打包到jar文件裡面的應用程序。那麼為什麼jar文件僅僅作為文件在整個java裡面占據了次要的地位,而本地執行則被忽視?
要執行一個jar文件,你可以使用java命令的-jar選項。舉一個例子來說,假如你有個名叫myjar.jar的文件。這個jar是可以運行的,你可以運行它:java-jarmyjar.jar.另外一個辦法就是,當JavaRuntimeEnvironment(JRE)已經被安裝到一個像windows的操作系統上,將jar文件與JVM關聯(關聯java.exe跟jar文件)在一起你就可以通過雙擊jar來運行這個應用程序。當然,jar文件必須是可執行的。
現在的問題是:如何做一個可以執行的jar?
manifest文件以及Main-class入口
在大多數jar中,都在一個叫META-INF的目錄裡面保存了一個叫MANIFEST.MF的文件。那個文件裡面,
包含了一個特殊表項名字叫Main-Class,告訴java-jar命令應該執行哪個class.
問題是你必須為manifest文件手工加入適當表項,而且必須在一定的位置和用一定的格式。不幸的是,不是每個人都喜歡打開寫字板編輯配置文件。
讓API幫你完成任務
自從java1.2發布以來,一個叫java.uil.jar包的出現,讓你能夠方便處理jar文件。(注意:該包基於java.util.zip)特別地,jar包讓你通過Mainfest類,可以容易操作那些manifest文件.
就讓我們用這個API寫一個程序吧。首先,這個程序必須知道三樣東西:
1。我們要使之可運行的jar文件。
2。運行jar的主類(這個類必須包含在jar中)。
3。輸出新jar文件的文件名,因為我們不能簡單地覆蓋原來的文件。
編寫程序
上面列表的三點要求將組成我們的程序的參數。現在,讓我們為這個程序選擇一個適當的名字。
MakeJarRunnable聽起來覺得怎樣?
為main方法檢查參數
假設我們的main方法入口點是一個標準的main(String[])方法。我們應該這樣檢查程序的參數:
if(args.length!=3){
System.out.println("Usage:MakeJarRunnable" "<jarfile><Main-Class><output>");
System.exit(0);
}
請注意參數列表是如何描述的,因為這在以下代碼中是很重要的。參數的次序和內容不是固定的;
然而,如果你要改變他們的話,要記住響應修改其他代碼。
訪問jar和jar的manifest文件
第一,我們必須創建一些了解jar和manifest的對象:
//CreatetheJarInputStreamobject,andgetitsmanifest
JarInputStreamjarIn=newJarInputStream(newFileInputStream(args[0]));
Manifestmanifest=jarIn.getManifest();
if(manifest==null){
//
manifest=newManifest();
}
設置Main-Class屬性
我們把Main-Class入口放到manifest文件的main屬性部分。一旦從manifest對象獲得這個屬性,就可以設置需要的mainclass。然而,如果main-Class屬性已經存在原來的jar當中又如何呢?這里我們只是簡單地輸出一個警告然後退出。我們能加入一個命令行參數告訴程序使用新的值,而代替了舊的那個:
Attributesa=manifest.getMainAttributes();
StringoldMainClass=a.putValue("Main-Class",args[1]);
//Ifanoldvalueexists,telltheuserandexit
if(oldMainClass!=null){
System.out.println("Warning:oldMain-Classvalueis:"
oldMainClass);
System.exit(1);
}
輸出新的JAR
我們需要創建一個新的JAR文件,所以我們必須使用JarOutputStream類。注意:
我們必須確定我們不用跟輸入文件相同的名字作為輸出文件的名字。還有一個方案就是,程序應該考慮到一種情況,就是兩個jar文件都是相同的,促使用戶覆蓋原來的文件,如果他願意這么做的話。然而,我在保留了這一點,作為讀者的一個練習。從如下代碼開始:
System.out.println("Writingto" args[2] "...");
JarOutputStreamjarOut=newJarOutputStream(newFileOutputStream(args[2]),manifest);
我們必須從輸入JAR寫每個表項到輸出的JAR,所以迭代每個表項:
//
byte[]buf=newbyte[4096];
//Iteratetheentries
JarEntryentry;
while((entry=jarIn.getNextJarEntry())!=null){
//
if("META-INF/MANIFEST.MF".equals(entry.getName()))continue;
//WritetheentrytotheoutputJAR
jarOut.putNextEntry(entry);
intread;
while((read=jarIn.read(buf))!=-1){
jarOut.write(buf,0,read);
}
jarOut.closeEntry();
}
//Flushandcloseallthestreams
jarOut.flush();
jarOut.close();
jarIn.close();
完成程序
當然,我們必須把這些代碼放到一個類的main方法裡面,並且需要一大堆import代碼。完整程序:
http://www.javaworld.com/javaworld/javatips/javatip127/MakeJarRunnable.zip
程序使用例子
讓我們把這個程序應用到一個例子裡面來。假設你有一個應用程序,該程序的入口點是一個叫HelloRunnableWorld的類,再假設你已經創建了一個jar叫myjar.jar,包含了整個程序。運行MakeJarRunnable:
javaMakeJarRunnablemyjar.jarHelloRunnableWorldmyjar_r.jar
正如前面提到的,注意一下我的參數順序。如果你忘記了順序,沒有參數運行一下程序,它會響應出現一個用法提示信息。
嘗試對myjar.jar運行java-jar命令。然後對myjar_r.jar。注意區別不同!好了,你完成了這一切了,瀏覽一下每個jar的manifest文件(META-INF/MANIFEST.MF)
『柒』 怎麼把java文件打包成jar文件
使用Eclipse的Export功能:
一、打包成一般的jar包:
步驟如下:
1)在要打包的項目上右擊,選擇Export
2)在彈出的窗口中,選擇Java -> JAR File,然後點擊next按鈕
3)在JAR File Specification窗口中,設置打包成的文件名和存放位置,點擊兩側next
4)在JAR Manifest Specification窗口中,設置MANIFEST.MF清單文件的配置,
若僅僅打包成單純的jar包的話,不用做任何修改,採取默認即可
若打包成可執行jar包的話,可以使用已存在的MANIFEST文件或者直接選擇Main class
5)點擊Finish按鈕,完成打包。
二、打包成可運行的jar包
步驟如下:
1)在要打包的項目上右擊,選擇Export
2)在彈出的窗口中,選擇Java -> Runnable JAR File,然後點擊next按鈕
3)在Runnable JAR File Specification窗口中,選擇Launch configuration和Export destination
4)點擊Finish按鈕,打包完成。
『捌』 如何將java文件打包成jar
先打開命令提示符(win2000或在運行框里執行cmd命令,win98為DOS提示符),輸入jar Chelp,然後回車(如果你盤上已經有了jdk1.1或以上版本),看到什麼:
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目錄] 文件名 ...
選項:
-c 創建新的存檔
-t 列出存檔內容的列表
-x 展開存檔中的命名的(或所有的〕文件
-u 更新已存在的存檔
-v 生成詳細輸出到標准輸出上
-f 指定存檔文件名
-m 包含來自標明文件的標明信息
-0 只存儲方式;未用zip壓縮格式
-M 不產生所有項的清單(manifest〕文件
-i 為指定的jar文件產生索引信息
-C 改變到指定的目錄,並且包含下列文件:
如果一個文件名是一個目錄,它將被遞歸處理。
清單(manifest〕文件名和存檔文件名都需要被指定,按'm' 和 'f'標志指定的相同順序。
示例1:將兩個class文件存檔到一個名為 'classes.jar' 的存檔文件中