论坛首页 Java企业应用论坛

jar打包 可执行jar jar找不到位不jar

浏览 9365 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2008-09-18  
自己做个了一个小程序,是用来发送一些http请求的,做好之后想让这个程序每天定时执行。

    于是我要先将这个程序打包,制作一个可执行的java文件,在一系列的gooogle在以后,发现了可以制作一个可执行的jar,于是开始打包,可以用ant来打包,也可以用myelcipse来打包。

这两个我都用了myeclipse打包更简单一些,着里面有一个要注意的地方就是,当你的程序引用了外部的jar的时候,我们怎么处理这写jar呢,我们的方法是先把这些jar解压,然后把得到的class文件放到我程序的classes目录下,这样外部的jar就打包到我本地的jar里。然后再在MANIFEST.MF 写上Main-class:youmainfucntion。

    这里还有一点注意的地方就是,MANIFEST.MF是打包的时候自动生成的,我们怎么吧Main-class:youmainfucntion这句话添加到包里面,呵呵,我用的方法是,在外面在写一个MANIFEST.MF一个包含Main-class:youmainfucntion的文件,然后把这个文件覆盖到压缩文件中。这样一个可执行的jar就制作完成了。

我还要做一个每日自动执行的操作,我们可以利用window自带的任务计划,来执行,我写了一个bat文件,文件里写着java -jar youjar.jar。把这个bat文件和jar放到同一个目录下,让后让让任务计划执行这个bat文件就行了。
   发表时间:2008-09-18  
用ant打包,可以自动生成MANIFEST.MF,例如:

<jar jarfile="xxx.jar" basedir="${classes}">
      <manifest>
        <attribute name="Main-Class" value="a.b.c.Main"/>
      </manifest>
    </jar>
0 请登录后投票
   发表时间:2008-09-18  
说了这么多 你想说什么?
0 请登录后投票
   发表时间:2008-09-19  
试试fatjar这个插件
0 请登录后投票
   发表时间:2008-09-19  
你用myeclipse打包时候指定MAIN-CLASS
0 请登录后投票
   发表时间:2008-09-19  
kaneg 写道
用ant打包,可以自动生成MANIFEST.MF,例如:

<jar jarfile="xxx.jar" basedir="${classes}">
      <manifest>
        <attribute name="Main-Class" value="a.b.c.Main"/>
      </manifest>
    </jar>

引用的外部jar也不用解压,拷贝,个人认为,将引用的外部jar一起打进jar包更好。

<jar jarfile="xxx.jar" basedir="${classes}">
      <fileset dir="." includes="lib/*.jar"/>
      <manifest>
        <attribute name="Main-Class" value="a.b.c.Main"/>
        <attribute name="class-path" value="lib/commons-logging-1.1.jar"/>
      </manifest>
</jar>
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics