部署应用程序和applet-运行jar包问题总结

编程技术  /  houtizong 发布于 3年前   94
今天晚上搞了一晚上命令行打jar包并执行发现不少问题:
  1、首先简单的执行jar cvf XXX.jar XX/XX/*.class,然后执行java -jar XXX.jar。当然直接就报错了,修改MANIFEST.MF文件的Main-Class,再重新编译运行,报invalid header field ??mainfest,这个问题百度了很久没有什么好的解决办法,然后偶只有使用其他途径。
 
  2、发现上述问题后,不能再用原来的方式进行了,我换种方案,既然自动生成的MANIFEST.MF文件有问题,那么我自己写个MANIFEST.MF打到JAR中,执行jar cbfm XXX.jar MANIFEST.MF  XX/XX/*.class,执行java -jar XXX.jar后,执行成功。


其实过程中还有一些小问题,比如class类中需要用到的资源文件,比如gif,txt等均需要打到jar包中,还有就是要注意打包时所在的路径。


下面是打JAR包需要注意的地方:
总是以Manifest-Version属性开头
每行最长72个字符,如果超过的化,采用续行
确认每行都以回车结束,否则改行将会被忽略
如果Class-Path 中的存在路径,使用"/"分隔目录,与平台无关
使用空行分隔主属性和package属性
使用"/"而不是"."来分隔package 和class ,比如 com/example/myapp/
class 要以.class结尾,package 要以 / 结尾

MANIFEST.MF模板:
Manifest-Version: 1.0
Class-Path: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Created-By: 1.6.0_06 (Sun Microsystems Inc.)
Main-Class: frist.chapterten.ResourceOnJarLoadTest

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客