A. 如何將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' 的存檔文件中
B. 如何將java源代碼打包生成jar
工具:
eclipse
方法:
1、啟動eclipse;
C. java 多個類文件如何打包成jar
如果是命令方式的話,打開程序|附近|命令提示符窗口,輸入以下命令:
jar
cvfe
結果JAR文件名.jar
程序主類
-C
源位元組碼文件夾
.
D. 如何打包成可在命令行利用java執行的jar文件
jar -cef test.CardLayoutDemo CardLayoutDemo.jar test
以上命令及參數的含義如下:
jar命令為java自帶的專用打包工具;
c代表生成新的jar包;
e代表可執行的類,亦即main方法所在的類。書寫時要加上包名,在本例中是後面的test.CardLayoutDemo;
f代表生成的jar包的名稱,在本例中是CardLayoutDemo.jar。此包名可以隨意命名,沒有規定;
test最後面的這個參數表示將test目錄下的所有文件都打包放到新的jar包中。
E. java 怎麼把多個jar打包成一個jar來使用
Java程序由多個類文件組成,這些類文件需要編譯成多個「.class」二進制位元組碼文件才能運行,而一個稍大寫的Java程序,編譯後都會有非常多的「.class」文件,這樣對於程序的發布非常的不方便。下面將介紹如何將Java程序的多個編譯後的「.class」文件打包成一個可執行的JAR文件,這樣將該JAR文件發布給用戶就可以了。
1. Java程序打包成JAR文件
(1)在Eclipse的「包資源管理器」視圖中找到要打包成JAR文件的項目。在項目名稱上單擊滑鼠右鍵,在彈出的菜單中選擇「導出」菜單項。在「導出」對話框中選擇「Java」/「可運行的JAR文件」。
(2)在「可運行的JAR文件導出」向導對話框的「啟動配置」下拉選擇框中,選擇「StudyJava-2.01」。這個下拉選擇看中保存著運行過的啟動配置,由於之前已經運行過StudyJava類,所以這個下拉選擇框中可
以選擇StudyJava類的啟動配置。選項的「-2.01」後綴是啟動配置所在的項目名稱。然後在「導出目標」下拉選擇框中輸入保存打包後JAR文件的名稱和位置,也可以通過單擊右側的「瀏覽按鈕」選擇指定的位置。
2. 在命令行運行JAR文件
現在的實例是在控制台中輸出字元串信息。把它打包成JAR文件之後必須通過命令行方式運行,這樣才可以在命令行中看到程序的輸出結果。下面介紹一下具體運行方法。
(1)在windows系統中,單擊「開始」/「運行」菜單項。
(2)在彈出的「運行」對話框中輸入「CMD」命令。單擊「確定」按鈕。
(3)在CMD命令中,默認的操作位置是當前用戶文件夾,由於打包的「StudyJava.jar」文件保存在C盤根目錄,所以我們輸入「cd\」命令,把操作文件夾切換到C盤根目錄。然後輸入「java –jar StudyJava.jar」命令運行JAR文件。如下圖所示。其中「java」是運行Java程序的命令,「-jar」是運行參數,意思是要運行JAR文件,而後面跟隨的就是JAR文件的全程(包括擴展名稱)。
F. 怎麼把java文件打包成jar文件
打包成一般的jar包的步驟如下:
1.輸入如下命令即可:
Cmd代碼
jar cvf counter.jar -C bin .
其中,「-C bin」實際上是告訴jar命令先cd到bin目錄下,再在此目錄執行沒有參數「-C bin」的命令,等價於:
2.Cmd代碼
cd bin
jar cvf counter.jar . // "."代表當前路徑
G. java里的jar類打包文件怎麼使用
java里的jar類打包文件使用步驟如下:
在Eclipse中,左邊的工程管理欄,右鍵->BuildPath->Configure BuildPath...->Library標簽->Add External JARs->選擇下載的包->Ok,如下圖:
H. 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)
I. 怎樣在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目錄下
J. 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類的完全名稱).