- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简化Java应用程序的打包和发布.doc
简化Java应用程序的打包和发布
发布Java■应用程序吋你会感到困难?好在Java提供了一系列打包和发布工 貝,可以显著的简化发布过程
该文章提供了打包Java code的儿种方法,我们将会探讨Java manifest文 件,给出用于管理JAR文件所依赖文件、估计跨平台发布所需的CLasspath的合 适方法.我也会解释如何使用manifest包版本特性來确认包的兼容性..?
什么是JAR文件?
在开发过程屮,我们可以直接使用Java class文件来运行程序,但这并不 是一个好方式,好在Java提供了 JAR(Java Archive)文件來提供发布和运行。
jar文件实际上是class文件的ZIP压缩存档,这种格式被广泛使用,因 此易与使用,有很多中工具可以操作这种格式的文件。也正是因为这个原因,jar 文件木身并不能表达所包含应用程序的标签信息。
Mardfest因此得以出现
为了要提供存档的标签信息,jar文件指定了一个特定目录来存放标签信息: META-INF目录,其中我们来关注该目录中的MANIFEST. MF文件,他就是JAR的 manifest文件,他包含了 JAR文件的内容描述,并在运行时向JVM提供应用程 序的信息,大多数JAR文件含有一个默认生成的manifest文件,执行JAR命令 或使用zip工具,都可以产生它
如果是由jar命令产生的manifest文件,形如:
Manifest-Version: 1.0
Crcatcd-By:1. 4. 0~bcta
(Sun Microsystems Inc?)
这些信息没甚么用,仅仅告诉我们使用的是1. 0的manifest文件,第一行定 义manifest的格式,第二行说明使用SUN的JDK1. 4的jar工具生成该文件, 如果manifest文件是由其他(如ant)创建的,那将会出现Created-By: Ant 1?2”之类的内容,如果你是自己创建manifest文件,你可以加入自己的一些 相关信,氐
基础格式
manifest文件的格式是很简单的,每一行都是名一值对应的:屈性名开 头,接着是,然后是屈性值,每行最多72个字符,如果需要增加,你可以 在下一行续行,续行以空格开头,以空格开头的行都会被视为前一行的续行。
所有在开头的属性都是全局的,你也可以定义特定class或package的属 性,稍后将介绍这种
把manifest文件插入JAR文件
使用m选项,把指定文件名的manifest文件 传入,例如
jar cvfm myapplication. jar myapplication. mf ~C classdir
如果你使用ant来创建时,在ant的build, xml加入如下条目
target name=zzjar,z
jar jarfile =/zmyapplicati on .jar
memifest二myapplication. mf〃
filcsct dir=,zclassdir/z
includes/**/*? class/〉
/jar
/target
运行Java程序
现在我们来体验一下manifest文件的作用,如果现在我们有一个Java应 用程序打包在 myapplication. jar 中,main class 为 com. example, myapp. MyAppMain ,那么我们口J以用以下的命令來运彳亍
java -classpath myapplication. jar com.cxamplc. myapp?MyAppMain
这显然太麻烦了,现在我们来创建自己的manifest文件,如下:
Manifest-Version: 1.0
Created-By: JDJ example
Main-Class: com? cxaniplc. myapp? MyAppMain
这样我们就可以使用如下的命令来运行程序了:(明显简单多了,也不会造 成无谓的拼写错误)
java -jar myapplication. jar
管理JAR的依赖资源
很少Java应用会仅仅只有一个jar文件,一般还需要其他类库。比如我的 应用程序用到了 Sun的Javamail classes ,在classpath中我需要包含 activation, jar和mail, jar,这样在运行程序时,相比上面的例子,我们要增加 一些:
java -classpath mail, jar:activation. jar -jar myapplication.jar
在不同的操作系统屮,jar包间的分隔符也不一样,在UNIX用在 window中使用“;”,这样也不方便
同样,我们改写我们的manifest文件,如下
Mani fest-Versi
您可能关注的文档
- 第五部分循环结构.doc
- 第八分册房建工程内蒙古自治区高等级公路建设施工标准化指南.doc
- 第八单元认识分数单元分析.doc
- 第八届苏北数学建模联赛B题旅游路线的优化设计模型.doc
- 第八版外科学问答题(总论部分).doc
- 第八版外科学问答题(普通外科部分).doc
- 第八章安全文明施工保证措施.docx
- 第八章营养性疾病患儿的护理习题.doc
- 第八章装饰工程和外墙外保温工程质量事故与处理.docx
- 第八讲二次函数解析式和最值问题.doc
- 《GB/T 3048.4-2025电线电缆电性能试验方法 第4部分:导体直流电阻试验》.pdf
- 中国国家标准 GB/T 3048.4-2025电线电缆电性能试验方法 第4部分:导体直流电阻试验.pdf
- GB/T 3048.4-2025电线电缆电性能试验方法 第4部分:导体直流电阻试验.pdf
- 《JJF 2279-2025圆锥螺纹量规校准规范》.pdf
- JJG 2098-2025直流电能计量器具检定系统表.pdf
- 《GB/T 4706.128-2025家用和类似用途电器的安全 第128部分:新风净化机的特殊要求》.pdf
- 中国国家标准 GB/T 4706.128-2025家用和类似用途电器的安全 第128部分:新风净化机的特殊要求.pdf
- GB/T 30117.6-2025灯和灯系统的光生物安全 第6部分:紫外线灯产品.pdf
- 中国国家标准 GB/T 30117.6-2025灯和灯系统的光生物安全 第6部分:紫外线灯产品.pdf
- GB/T 31270.12-2025化学农药环境安全评价试验准则 第12部分:鱼类急性毒性试验.pdf
文档评论(0)