简化Java应用程序的打包和发布.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

您可能关注的文档

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档