jar包和war包的打包规范模板.docx
- 文档编号:10608358
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:5
- 大小:92.93KB
jar包和war包的打包规范模板.docx
《jar包和war包的打包规范模板.docx》由会员分享,可在线阅读,更多相关《jar包和war包的打包规范模板.docx(5页珍藏版)》请在冰豆网上搜索。
jar包和war包的打包规范模板
CMD模式下实现jar打包
注意包名以及manifest.mf文件每一个冒号有空格
最后一行为空
1、编译java文件
2、写manifest.mf文件
Manifest-Version:
1.0
Main-Class:
<空格>package.class//指定主类,目的是如果有main函数能够直接运行
Class-Path:
包含的其它jar包中间空格间隔如果有多个jar包且不能为jar包中的jar包。
是需要在包里面包含的本地包lib/edd/.
<换行>最后一行为空行
保存
注意:
没有添加主清单属性则不能够直接经过java–jar包名.jar运行文件
Cmd下执行jar–cvfmname.jarmanifest.mf文件.class
这种情况是打包没有package名的.class文件。
jar{ctxu}[vfm0Mi][jar-文件][manifest-文件][-C目录]文件名
jarcvfmclasses.jarmymanifest.mf-Cfoo/.文件夹下所有类打包
foo为文件夹。
这种是打包有包名的.class。
应为这种情况下编译会产生cn.mypackage的情况
因此在manifest文件中会写出,而且也需啊把包的文件夹放在与manifest同一个位置再打包运行即可
运行即是java–jarname.jar;这种情况必须要有manifest文件。
不然不能执行main函数
含有多个java编译文件,属于同一个包的打包。
也是上诉方法,将其编译到一个包文件夹中,然后编译运行即可。
Jar包的导入(CMD下使用)
只需要将包放入到classpath对应的文件夹下,然后使用importcn.ddd.class
即可。
如下:
importcn.mypackage.Testjar;//可是这种情况下用类需要把全名写出来不然不能访问,也就是说importcn.mypackage.*;写法是错误的
publicclasstestcout
{
publicstaticvoidmain(String[]args)
{
Testjart=newTestjar();
t.display();
}
}
运行输出:
Eclipse下实现jar包的打包
Eclipse的jar包打包同样需要多个过程
1、选择包右键选择导出jarfile
2、
3、选择要导出的文件
4、
5、选择自己的manifest或者生成的manifest
选择主类,实现直接运行。
然后finish即可
关于生成自己的manifest.mf文件问题
这种情况下是使用了第三方的jar包的情况。
因此系统生成manifest文件不可用,需要自行生成manifest文件。
Manifest-Version:
1.0
Class-Path:
lib/commons-codec.jarlib/commons-httpclient-3.1.jarlib/commons-logging-1.1.jarlib/log4j-1.2.16.jarlib/jackson-all-1.8.5.jar
Main-Class:
main.KillCheatFans
1、Class-Path:
和Main-Class:
后边都有一个空格,必须加上,否则会打包失败,错误提示为:
Invalidheaderfield;
2、假设我们的项目打包后为KillCheatFans.jar,那么按照上面的定义,应该在KillCheatFans.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件
在同一个目录下),并将相关的jar包放在里面。
否则将会出现”Exceptioninthread"main"java.lang.NoClassDefFoundError”的错误;
也就是说这个文件加下具有manifest文件以及lib文件,lib中存放有第三方的jar包。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jar war 打包 规范 模板