`
raozhiyong11
  • 浏览: 135457 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

用jar命令将java class文件打包及编写.bat文件

    博客分类:
  • J2SE
阅读更多

用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; 此项指定程序用到的类库的目录;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics