JAR API
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的更多相关文章
- java common-io jar API
import org.apache.commons.beanutils.BeanUtils;public class Person { private String name; public Stri ...
- Java jar文件
JAR(Java Archive)是基于ZIP文件格式的文件格式. 它用于捆绑Java应用程序或小程序的资源,类文件,声音文件,图像等. 它还提供数据压缩.一个JAR文件作为一种特殊类型的ZIP文件. ...
- cocos2d-x 从win32到android移植的全套解决方案
引言:我们使用cocos2d-x引擎制作了一款飞行射击游戏,其中创新性地融入了手势识别功能.但是我们在移植过程中遇到了很多的问题,同时也发现网上的资料少而不全.所以在项目行将结束的时候,我们特地写了这 ...
- 2.SDK目录结构和adb工具及命令介绍
安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 1.SDK目录介绍: ******************************** add-ons:Androi ...
- (转)将cocos2dx项目从VS移植到Eclipse
本文转自:http://www.cnblogs.com/Z-XML/p/3349518.html 引言:我们使用cocos2d-x引擎制作了一款飞行射击游戏,其中创新性地融入了手势识别功能.但是我 们 ...
- Web前端性能优化的9大问题
1.请减少HTTP请求基本原理:在浏览器(客户端)和服务器发生通信时,就已经消耗了大量的时间,尤其是在网络情况比较糟糕的时候,这个问题尤其的突出.一个正常HTTP请求的流程简述:如在浏览器中输入&qu ...
- SDK目录结构和adb工具及命令介绍
1.SDK目录介绍: ******************************** add-ons:Android开发需要的第三方文件,附加的库,如Google APIs.GoogleMaps. ...
- 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 ...
- Annotation(二)——Hibernate中注解的开发
在利用注解开发数据库持久层以前,需要学习一个规范JPA(Java Persistence API),这也是SUN公司提出的数据库的持久化规范.就类似于JDBC,Servlet,JSP等规范一样.而Hi ...
随机推荐
- 用 Flask 来写个轻博客 (6) — (M)VC_models 的关系(one to many)
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 前言 一对多 再一次 sync db How to use ...
- PHP面试 MySQL的高可扩展和高可用
MySQL的高可扩展和高可用 面试题一 MySQL分表和分区的工作原理,分表和分区的使用场景和优缺点. 分区表的原理 对用户而言,分区表时一个独立的逻辑表,但是底层MySQL将其分成了多个物理子表,这 ...
- The request with exception: The SSL connection could not be established, see inner exception. requestId 解决方案
DOTNET CORE 部署 Centos7 抛出异常 环境变量如下: .NET Core SDK (reflecting any global.json): Version: 2.2.401 Com ...
- Jackson教程
Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象.Jackson所依赖的jar包较少,简 ...
- 转 笔记本无线和有线的MAC地址修改
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xueqiang03/article/details/80741734无线网卡的mac地址在出厂时就被 ...
- selenium学习笔记(1)
selenium http://selenium-python.readthedocs.io/index.html https://www.seleniumhq.org/projects/ide/ 声 ...
- [Java Performance] 线程及同步的性能之线程池/ThreadPoolExecutors/ForkJoinPool
线程池和ThreadPoolExecutors 虽然在程序中可以直接使用Thread类型来进行线程操作,但是更多的情况是使用线程池,尤其是在Java EE应用服务器中,一般会使用若干个线程池来处理 ...
- 如何在vue框架中兼容IE
IE目前已经放弃了自己的独特化,正一步步迎入互联网的主流怀抱.但迫于有用户存在,还是要兼容到IE8,9, 以上. 下面聊一下如何在vue框架中兼容IE 1.首先在index.html <meta ...
- Python之字典中的键映射多个值
字典的键值是多个,那么就可以用列表,集合等来存储这些 键值 举例 print({"key":list()}) # {'key': []} print({"key" ...
- winpe
winpe winpe winpe 工具 判断是否pe系统的方法:GetSystemDisk()