用jar命令將java class文件打包及編寫.bat文件

用jar命令將java class文件打包及編寫.bat文件

 
<!-- 正文開始 -->

1.jar文件打包
假設需要打包的文件如下:

classes\com\albertsong\MyApp.class
classes\com\albertsong\Aaaa.class
classes\com\albertsong\util\Bbbb.class

 
(其中MyApp包含main函數)
建一個mymanifest.mf 文件,內容如下:
Main-Class: com.albertsong.MyApp


建一個myjar.bat文件,內容如下:

set JAVA_HOME=C:\jsdk1.5.0_09
set PATH=%JAVA_HOME%\bin
set CLASSPATH=%JAVA_HOME%\lib\tools.jar;
jar cvfm MyApp.jar mymanifest.mf  -C classes .

 
這兩個文件都放到和classes同一個目錄,即目錄結構象下面一樣

MyApp\classes\com\albertsong\MyApp.class
MyApp\classes\com\albertsong\Aaaa.class
MyApp\classes\com\albertsong\util\Bbbb.class
MyApp\mymanifest.mf
MyApp\myjar.bat

 

然後點myjar.bat這個文件執行就可以了:)

2.執行jar文件
建一個目錄MyApp/release。
將生成的MyApp.jar複製到這個目錄。
在這個目錄裏新建一個批處理文件run.bat,內容如下:

set JAVA_HOME=C:\jsdk1.5.0_09
set PATH=%JAVA_HOME%\bin
set CLASSPATH=%JAVA_HOME%\lib\tools.jar;
javaw -jar MyApp.jar

 
3.其它


   1)jar cvfm MyApp.jar mymanifest.mf  -C classes .
      這行命令,最後的. 一定不能掉 ,jar命令給出的幫助的例子是
       jar cvfm classes.jar mymanifest -C foo/ .
      但是在windows下應該改成
      jar cvfm classes.jar mymanifest -C foo\ .
      或者
     jar cvfm classes.jar mymanifest -C foo .


   2)如果應用程序比較大,可能會用到其它的庫,這時可以在release目錄下建一個lib
     然後在run.bat的CLASSPATH中添加用到的庫。
   set CLASSPATH=%JAVA_HOME%\lib\tools.jar;lib\ccc.jar;lib\ddd.jar;


    3)如果要指定java程序使用的內存,這樣
    javaw -ms100m -mx256m -jar MyApp.jar
    上面指定了使用最小100M最大256M內存。


    4)如果main函數要帶參數
    javaw -ms100m -mx256m -jar MyApp.jar  arg1 arg2


    5)如果不能在控制檯看到有關信息,可以用java來執行jar包
      java -ms100m -mx256m -jar MyApp.jar  arg1 arg2
     javaw在後臺執行。


    6)如果bat文件一閃而過,看不到輸出,可以在文件最後一行加上pause,最好的是通過cmd.exe來運行run.bat。

 

 

 

此篇文章爲轉載文章,出處:http://blog.sina.com.cn/s/blog_44d3ec2b0100dy4j.html

 

 

自己的筆記:

 

 文件目錄:

C:\deploy.src\lib                 程序用到的類庫

C:\deploy.src\run.bat         批處理文件


run.bat文件內容:

java -ms100m -mx256m -Djava.ext.dirs=./lib; -jar C:\deploy.src\lib\sync_from_hr.jar
pause

 -Djava.ext.dirs=./lib; 此項指定程序用到的類庫的目錄;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章