2025-02-15

jar 應用 先打開命令提示符(win2000或在運行筐裡執行cmd命令,win98為DOS提示符),輸入jar -help,然後回車(如果你盤上已經有瞭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 的存檔文件中:
jar cvf classes.jar Foo.class Bar.class


示例2:用一個存在的清單(manifest)文件 mymanifest 將 foo/ 目錄下的所有文件存檔到一個名為 classes.jar 的存檔文件中:
jar cvfm classes.jar mymanifest -C foo/ .


來個小例子試試看:
我們隻有一個HelloWorld,如下:
public class HelloWorld{
public static void main(String[] args){
System.out.println(“Hi, Hello World!”);
}
}
我將這個java文件存到C盤跟目錄下,ok,接下來,


在先前打開的命令提示符下(跳轉到C盤提示符下),我們輸入javac HelloWorld.java,然後繼續輸入:jar cvf hello.jar HelloWorld.class,回車後去你的C盤看看,多瞭什麼,沒錯 hello.jar 。


基本的步驟我們現在都知道瞭,你可以自己去嘗試一下隨著jar後面的參數的不同,結果有什麼變化。


緊接著我們看看如何運行我們的jar包。


在進入正題之前,你要先打開我們剛剛做好的jar包看看,多瞭什麼呢,META-INF目錄?再看看裡面是什麼,還有一個MANIFEST.MF文件是不是?用文本編輯器(我這裡是UltraEdit)打開它看看:
Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.)


就是這樣。這裡我們對它進行修改,加一句:Main-Class: HelloWorld (在第三行)。這個就是我們之前寫的那個類,也就是我們的入口類。也即,
Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.)
Main-Class: HelloWorld


接下來,我們在命令提示符裡執行:
jar umf MANIFEST.MF app.jar


這樣我們使用瞭我們自己的MANIFEST.MF文件對原來默認的進行瞭更新。你不妨可以再進去看看是不是添上瞭Main-Class: HelloWorld這一句。


Ok,這個最後的一步瞭,來驗證我們做的一切,在命令提示符中輸入:
java -jar hello.jar(執行)


出現瞭什麼,――Hi, Hello World!
我們再來看看jar文件在tomcat中發佈,註意:在tomcat中我們就不能再用jar這種格式,而改war格式,它是專門用於web應用的,其實整個過程下來基本上和jar是類似的:


先準備我們要打包的資源。


找到存放tomcat的webapps目錄,進到其中,新建一個文件夾,這裡命名為hello,再進去新建WEB-INF文件夾,再進去新建 classes文件夾,此時我們也將我們唯一的servlet,HelloWorld.java放到這裡,在與classes目錄同級下建立一文件 web.xml。Ok,目前我們初步建立瞭一個簡單的web應用。


在命令提示符下進到先前創制的hello目錄下,執行 jar cvf hello.war * ,我們便得到hello.war。將它拷貝至webapps目錄下,ok,來看最後一步,打開tomcat的目錄conf中的server.xml,加入:
reloadable=”true”/>
大功告成!運行它,啟動tomcat,後在瀏覽器中輸入https://localhost:8080/hello/HelloWorld,有瞭嗎?


############


jar基本操作:


############


1. 創建jar文件
jar cf jar-file input-file(s)
c—want to Create a JAR file.
f—want the output to go to a file rather than to stdout.
eg: 1)jar cf myjar.jar query_maintain_insert.htm
2)jar cvf myjar.jar query_maintain_insert.htm
v—Produces verbose(詳細的) output.
3)jar cvf myjar.jar query_maintain_insert.htm mydirectory
4)jar cv0f myjar.jar query_maintain_insert.htm mydirectory
0—dont want the JAR file to be compressed.
5)jar cmf MANIFEST.MF myjar.jar yahh.txt
m—Used to include manifest information from an existing manifest file.
6)jar cMf MANIFEST.MF myjar.jar yahh.txt
M—the default manifest file should not be produced.
7)jar cvf myjar.jar *
*—create all contents in current directory.
2. 察看jar文件
jar tf jar-file
t—want to view the Table of contents of the JAR file.
eg: 1)jar vft yahh.jar
v—Produces verbose(詳細的) output.
3. 提取jar文件
jar xf jar-file [archived-file(s)]
x—want to extract files from the JAR archive.
eg: 1)jar xf yahh.jar yahh.txt(僅提取文件yahh.txt)
2)jar xf yahh.jar alex/yahhalex.txt(僅提取目錄alex下的文件yahhalex.txt)
3)jar xf yahh.jar(提取該jar包中的所有文件或目錄)
4. 修改Manifest文件
jar cmf manifest-addition jar-file input-file(s)
m—Used to include manifest information from an existing manifest file.
5. 更新jar文件
jar uf jar-file input-file(s)
u—want to update an existing JAR file.


–>生成exe:<–


第一種:在jbuilder中:
首先你要保證Run菜單–>Run Project能順利運行
然後Wizards菜單–>Native Executable Builder
選中Compress the contents of the archive(產生jar文件的話)
Next–>Next–>選中Always include all classes and resources再Next–>Next–>Next
選中Windows GUI”exe”(產生EXE文件的話)–>Finish
再在項目的文件列表中的Native Executable右擊–>Make就可以瞭


第二種:在cmd 下生成jar文件
abc.txt內容如下:
Manifest-Version: 1.0
Main-Class: main-class-name(回車)
在cmd下:
javac *.java
jar cvfm abc.jar abc.txt *.class

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *