JAR API包括使用 manifest 文件的类。Manifest类的一个对象表示一个manifest文件。 在代码中创建一个Manifest对象,如下所示:

1
Manifest manifest = new Manifest();

可以从manifest文件中读取条目并向其写入条目。要将一个条目添加到主部分,使用Manifest类中的getMainAttributes()方法获取Attributes类的实例,并使用其put()方法继续向其添加名称/值对。

以下代码将一些属性添加到manifest对象的主部分。已知的属性名称在Attributes.Name类中定义为常量。

例如,常量Attributes.Name.MANIFEST_VERSION表示manifest版本属性名称。

1
2
3
4
5
Manifest manifest = new Manifest();
Attributes  mainAttribs = manifest.getMainAttributes(); 
mainAttribs.put(Attributes.Name.MANIFEST_VERSION, "1.0"); 
mainAttribs.put(Attributes.Name.MAIN_CLASS, "cn.sxt.Main");
 mainAttribs.put(Attributes.Name.SEALED, "true");

将单个条目添加到manifest文件比添加到主条目稍微复杂一点。以下代码显示如何向Manifest对象添加单个条目:

1
2
3
4
5
Map<String,Attributes> attribsMap = manifest.getEntries();
Attributes attribs  = new Attributes();
Attributes.Name name = new Attributes.Name("Sealed");
attribs.put(name, "false");
attribsMap.put("cn/sxt/archives/", attribs);

要将manifest文件添加到JAR文件,请在JarOutputStream类的一个构造函数中指定它。例如,以下代码创建一个jar输出流,以使用Manifest对象创建一个test.jar文件:

点击链接查看详细内容

JAR API的更多相关文章

  1. java common-io jar API

    import org.apache.commons.beanutils.BeanUtils;public class Person { private String name; public Stri ...

  2. Java jar文件

    JAR(Java Archive)是基于ZIP文件格式的文件格式. 它用于捆绑Java应用程序或小程序的资源,类文件,声音文件,图像等. 它还提供数据压缩.一个JAR文件作为一种特殊类型的ZIP文件. ...

  3. cocos2d-x 从win32到android移植的全套解决方案

    引言:我们使用cocos2d-x引擎制作了一款飞行射击游戏,其中创新性地融入了手势识别功能.但是我们在移植过程中遇到了很多的问题,同时也发现网上的资料少而不全.所以在项目行将结束的时候,我们特地写了这 ...

  4. 2.SDK目录结构和adb工具及命令介绍

    安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 1.SDK目录介绍: ******************************** add-ons:Androi ...

  5. (转)将cocos2dx项目从VS移植到Eclipse

    本文转自:http://www.cnblogs.com/Z-XML/p/3349518.html 引言:我们使用cocos2d-x引擎制作了一款飞行射击游戏,其中创新性地融入了手势识别功能.但是我 们 ...

  6. Web前端性能优化的9大问题

    1.请减少HTTP请求基本原理:在浏览器(客户端)和服务器发生通信时,就已经消耗了大量的时间,尤其是在网络情况比较糟糕的时候,这个问题尤其的突出.一个正常HTTP请求的流程简述:如在浏览器中输入&qu ...

  7. SDK目录结构和adb工具及命令介绍

    1.SDK目录介绍: ******************************** add-ons:Android开发需要的第三方文件,附加的库,如Google APIs.GoogleMaps. ...

  8. Chapter 4. Using the Gradle Command-Line 使用gradle命令行

    This chapter introduces the basics of the Gradle command-line. You run a build using the gradle comm ...

  9. Annotation(二)——Hibernate中注解的开发

    在利用注解开发数据库持久层以前,需要学习一个规范JPA(Java Persistence API),这也是SUN公司提出的数据库的持久化规范.就类似于JDBC,Servlet,JSP等规范一样.而Hi ...

随机推荐

  1. 52、saleforce 第一篇

    View the Schema 1.点击setup 2.在QuickFind and Search中输入Schema Builder 先点击clear all 去除所有现实的UML,然后选择Line_ ...

  2. 9、继续matlab数值分析

    1.matlab拉格朗日插值 function yi=Lagrange(x,y,xi) %x为向量,全部的插值节点 %y为向量,插值节点处的函数值 %xi为标量或向量,被估计函数的自变量: %yi为x ...

  3. django的model继承abstract,proxy,managed

    https://www.cnblogs.com/wangwei916797941/p/9525127.html?from=timeline

  4. 如何在android studio中cordova的混合开发

    基于Android Studio 中Cordova的开发 cordova简介 Cordova的前身是PhoneGap 官网: (http://cordova.io) Cordova应是运行在客户端本地 ...

  5. float不完整带来的IE7下的不兼容

    这种原因是因为搜索用了float:right;添加报考院校和导入文件没有用float; 解决的方法是:1.给添加报考院校和导入文件分别添加float:left;2.把搜索那部分代码写在添加报考院校和导 ...

  6. Win10 打开MSDTC

    标签:log   com   http   it   sp   src   c   bs   io 1,Win+R 打开运行窗口,输入 dcomcnfg,打开组件服务窗口 2,在组件服务 catalo ...

  7. 25. SPI

  8. 【JavaSE】运行时类型信息(RTTI、反射)

    运行时类型信息使得你可以在程序运行时发现和使用类型信息.--<Think in java 4th> **** 通常我们在面向对象的程序设计中我们经常使用多态特性使得大部分代码尽可能地少了解 ...

  9. 第一周复习二 (CSS样式表及其属性)

    样式表三种写法 1内联写法:style直接写在标签内.个人感觉多用于个别标签,一般情况优先级较高 style="font-size:16px;" 2内嵌写法:写在<head& ...

  10. SpringMVC_HandlerMethodArgumentResolver 实践

    HandlerMethodArgumentResolver  是什么? 就是用于解析参数的一个接口,springMVC(4.1)会直接调用这个接口的方法,对参数进行一定的解析.比如会在 Invocab ...