推 Sinze:謝囉~ 不過應該還是不太會用_ _ 04/24 21:12
※ 引述《Sinze (一路向北)》之銘言:
: 如果要給別人看自己寫的JAVA
: JAVA一定都要把一堆class都一起傳過去才可以嗎?
: 而且對方一定要裝有Java 才可以?
: 能不能像c一樣用成一個執行檔 點兩下就可以執行_ _?
本篇說明文件內容[利用JDK將資料打包進jar檔] Writing by bone;
java參數說明
使用︰jar {ctxu}[vfm0Mi] [jar-file] [manifest-file] [-C dir] files ...
選項︰
-c 建立新的歸檔
-t 列出歸檔的目錄
-x 從歸檔擷取以命名的 (或全部) 檔案
-u 更新現有的歸檔
-v 在標準輸出中產生 verbose 輸出
-f 指定歸檔檔名
-m 包含來自指定 manifest 檔案的顯示資訊
-0 僅限儲存;使用非 ZIP 的壓縮方式
-M 不建立項目的 manifest 檔案
-i 為指定的 jar 檔案產生索引資訊
-C 變更為指定的目錄並包含下列檔案
如果任何檔案都是一個目錄的話,則會使用遞迴方式加以處理。
必須使用指定的 'm' 和 'f' 旗標相同順序,
指定 manifest 檔案名稱和歸檔檔名。
範例 1︰若要將兩個類別檔案保存在名稱為 classes.jar 的歸檔中︰
jar cvf classes.jar Foo.class Bar.class
範例 2︰使用現有的 manifest 檔案 'mymanifest',將 foo/ 目錄中的
所有檔案保存在 'classes.jar'︰
jar cvfm classes.jar mymanifest -C foo/ .
[cmd環境下]
1.如不需要寫成可執行的jar檔 (non-executable)
jar cvf Name_Of_Jar.jar filename1 filename2 ...
產生的檔案 代換成要置入的檔案名字 (要加副檔名)
2.如需產生可執行的jar檔 (executable)
須先以純文字檔編寫 manifest.mf 文件 註明main-class並於文末加置一行空行
如以下此範例。
---- manifest.mf start---------
Main-Class: Name_Of_Class
<-- 空行
---- manifest.mf end---------
jar cvfm Name_Of_Jar.jar manifest.mf filename1 filename2 ...
代換成要置入的檔案名字 (要加副檔名)
3.執行jar檔
java -jar Name_Of_Jar.jar
--
網路上也有些套件可以讓使用者直接打包成exe。
以前有看過,型態分兩種,
一種是連JVM包進去,這樣有沒有JVM都可以執行,代價是體積龐大。
另一種則是一般的程式,但是限定在有JVM的電腦上執行。
不過沒研究就是了,參考一下。:)
--
String temp="relax"; | Life just like programing
while(buringlife) String.forgot(temp); | to be right or wrong
while(sleeping) brain.setMemoryOut(); | need not to say
stack.push(life.running); | the complier will
stack.push(scouting.buck()); | answer your life
stack.push(bowling.pratice()); | Bone everything
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.240.58