java 使用jar_Java 使用JAR文件

JAR,Java Archive File,Java档案文件。JAR文件是一种压缩文件,与ZIP压缩文件兼容,通常称为JAR包。JAR文件中默认包含了一个名为META-INF/MANIFEST.MF的清单文件,是在生成JAR文件时由系统自动创建的。

使用JAR文件与以下好处:

安全。能够对JAR文件进行数字签名,只让能够数字签名的用户使用里面的东西

加快下载速度。在网上使用Applet时,如果存在多个文件而不打包,为了能够把每个文件都下载到客户端,需要为每个文件单独建立一个HTTP连接,耗时。将这些文件压缩成一个JAR包,只要建立一次HTTP连接就能够一次下载所有的文件

压缩。

包装类。能够让JAR包里面的文件依赖于统一版本的类文件

可移植性。JAR包作为内嵌在Java平台内部处理的标准,能够在各种平台上直接使用

jar命令详解

1 创建JAR文件:jar cf test.jar test

该命令没有显示压缩过程,执行结果是将当前路径下的test路径下的全部内容生成一个test.jar文件。如果当前目录中已经存在test.jar文件,那么该文件将被覆盖

2 创建JAR文件,并显示压缩过程:jar cvf test.jar test

3 不使用清单文件:jar cvfM test.jar test

M选项表明不生成清单文件,即没有包含META-INF/MANIFEST.MF文件

4 自定义清单文件内容:jar cvfm test.jar manifest.mf test

m选项指定读取用户清单文件信息。清单文件的内容由如下格式的多个key-value对组成。

key:value

清单文件的内容格式:

每行只能定义一个key-value对,每行的key-value对之前不能有空格,即key-value对必须顶格写。

每组key-value对之间以“:”(英文冒号后紧跟一个英文空格)分隔,少写了冒号或空格都是错误的。

文件开头不能与空行

文件必须以一个空行结束

将上面文件保存在当前路径下,文件名为a.txt。使用如下命令即可将清单文件中的key-value对提取到META-INF/MANIFEST.MF文件中。

jar cvfm test.jar a.txt test

5 查看JAR包内容:jar tf test.jar

6 查看JAR包详细内容:jar tvf test.jar

7 解压缩:jar xf test.jar

将test

8 带提示信息解压缩:jar xvf test.jar

9 更新JAR文件:jar uf test.jar Hello.class

更新test.jar中的Hello.class文件。如果存在,则使用新的Hello.class文件替换原来的文件;如果没有,则把新的文件添加到test.jar文件中。

10 更新时显式详细信息:jar uvf test.jar Hello.class

创建可执行的JAR包

应用程序发布方式:

使用平台相关的编译器将整个应用编译成平台相关的可执行文件。这种方式常常需要第三方编译器的支持,而且编译生成的可执行性文件丧失了跨平台特性,甚至可能与一定的性能下降。

为应用编辑一个批处理文件。以Windows操作系统为例,批处理文件中只需要定义如下命令:

java package.MainClass / start java package.MainClass(不保留运行Java程序的命令行窗口)

将一个应用程序制作成可执行的JAR包,通过JAR包来发布应用程序。

创建可执行的JAR包的关键在于:让javaw命令知道JAR包中哪个类是主类,javaw命令可以通过运行该主类来运行程序。

jar命令与一个-e选项,该选项指定JAR包中作为程序入口的主类的类名。

jar cvfe test.jar test.Test test

上面命令把test目录下的所有文件都压缩到test.jar包中,并指定使用test.Test类(如果主类带包名,此处必须指定完整类名)作为程序的入口。

运行上面的JAR包有两种方式:

使用java命令,使用java运行时的语法:java -jar test.jar

使用javaw命令,使用javaw运行时的语法:javaw test.jar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flash 与数学:圆的切线(3)

在上面几节当中,已经了解过计算圆上任意一点的切线的方法,我们首先知道使用导数几何意义在哪里?在我们高中数学和大学的数学当中,说明了。导数的几何意义函数yf(x)在点x0处导数为f(x0)在几何上表示曲线yf&a…

LeetCode 1110. 删点成林(二叉树递归)

1. 题目 给出二叉树的根节点 root,树上每个节点都有一个不同的值。 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合)。 返回森林中的每棵树。你可以按任意顺序…

Asp.net 编码函数

属于Server类 HtmlEncode UrlEncode转载于:https://www.cnblogs.com/hahacjh/archive/2010/06/21/1761822.html

LeetCode 973. 最接近原点的 K 个点(排序/优先队列/快排)

文章目录1. 题目2. 解题2.1 排序2.2 优先队列2.3 快排思路1. 题目 我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。 (这里,平面上两点之间的距离是欧几里德距离。) 你可以按任何顺序返回答案。除了…

创建链表

代码#include <iostream>usingnamespacestd;structstudent //定义结构体{ intdata; student *next;};//创建链表student *CreateList(){ student *headNULL; student *pnewstudent; cin>>p->data; student *endp; while(p->data!0…

LeetCode 1286. 字母组合迭代器(回溯/位运算)

文章目录1. 题目2. 解题2.1 回溯2.2 位运算1. 题目 请你设计一个迭代器类&#xff0c;包括以下内容&#xff1a; 一个构造函数&#xff0c;输入参数包括&#xff1a;一个 有序且字符唯一 的字符串 characters&#xff08;该字符串只包含小写英文字母&#xff09;和一个数字 c…

[Ubuntu]Apt-get命令参数详解

常用的APT命令参数&#xff1a;apt-cache search package 搜索包apt-cache show package 获取包的相关信息&#xff0c;如说明、大小、版本等sudo apt-get install package 安装包sudo apt-get install package - - reinstall 重新安装包sudo apt-get -f install 修复安装"…

java 密码 md5_java怎么去判断md5加密的密码啊?

对两次的加密字符进行比较&#xff0c;MD5加密的结果是一样的&#xff0c;所以每次进行加密后的密文进行匹配比较。java代码加密import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Utils {public static void main(String[] …

PageRank 算法

文章目录1. PageRank 的定义1.1 基本想法1.2 PageRank 的基本定义1.3 PageRank 的一般定义2. PageRank 的计算2.1 迭代算法2.2 幂法2.3 代数算法PageRank算法是图的链接分析&#xff08;link analysis&#xff09;的代表性算法&#xff0c;属于图数据上的无监督学习方法。 Pag…

基于Java+SpringMvc+Vue求职招聘系统详细设计实现

基于JavaSpringMvcVue求职招聘系统详细设计实现 &#x1f345; 作者主页 专业程序开发 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 文章目录 基于JavaSpringMvcVue求职招聘系统详细设计实现一、前言介…

NameValueCollection详解

1.NameValueCollection类集合是基于 NameObjectCollectionBase 类。 但与 NameObjectCollectionBase 不同&#xff0c;该类在一个键下存储多个字符串值&#xff08;就是键相同&#xff0c;值就连接起来如下例子&#xff09;。该类可用于标头、查询字符串和窗体数据。每个元素都…

一名英格兰球迷眼里的本届英格兰队

英格兰的世界杯旅程昨晚被德国终结了。身为一个英格兰的球迷的确心里不好受。比赛中兰帕德的本来可以扳平比 分的一粒进球被判无效&#xff08;难道真的“兰怕德”了&#xff1f;&#xff09;&#xff0c; 是整场比赛最大的争议点。有些人认为此球误判导致英格兰的最后大比分失…

无监督学习方法总结

文章目录1. 无监督学习方法的关系和特点1.1 各种方法之间的关系1.2 无监督学习方法1.3 基础机器学习方法1. 无监督学习方法的关系和特点 八种常用的统计机器学习方法&#xff1a; 聚类方法&#xff08;层次聚类、k均值聚类&#xff09;奇异值分解&#xff08;SVD&#xff09;…

java继承序列化_java中序列化之子类继承父类序列化

当一个父类实现Serializable接口后&#xff0c;他的子类都将自动的实现序列化。以下验证了这一点&#xff1a;package Serial;import java.io.Serializable;public class SuperC implements Serializable {//父类实现了序列化int supervalue;public SuperC(int supervalue) {th…

LeetCode 1324. 竖直打印单词

1. 题目 给你一个字符串 s。请你按照单词在 s 中的出现顺序将它们全部竖直返回。 单词应该以字符串列表的形式返回&#xff0c;必要时用空格补位&#xff0c;但输出尾部的空格需要删除&#xff08;不允许尾随空格&#xff09;。 每个单词只能放在一列上&#xff0c;每一列中也…

SubSonic中的字段付值--MakeOld Update

根据设计当MakeOld后&#xff08;在读取数据库后&#xff0c;或者手动调用&#xff09;&#xff0c;对记录(SubSonic生成的类&#xff09;属性附值时&#xff0c;Sonic会检测这个Value是否与原来的不同&#xff0c;只有值不同时才会附值成功&#xff0c;并将该列添加到DirtyCol…

java从控制台输入数组_Java将控制台输入的一行整数转成整型数组

思路&#xff1a;将一行数据按字符串的形式读取进来。首先判断输入的字符串是不是空&#xff0c;为空的话&#xff0c;则不作任何操做。其次&#xff0c;将字符串按照指定方式切分为字符串数组&#xff0c;此处是按照空格切分&#xff0c;由于输入是按空格区分的。最后&#xf…

java私有表示标识_java里面的标识符、关键字和类型

1. 注释Java中有三种注释&#xff1a;(1) // -单行注释&#xff0c;注释从“//”开始&#xff0c;终止于行尾&#xff1b;(2) -多行注释&#xff0c;注释从““结束&#xff1b;(3) -是Java特有的doc注释&#xff0c;这种注释主要是为支持JDK工具Javadoc而采用的。Javadoc能识…

在Silverlight中使用Socket进行通信(1)Socket请求-回复方式的简易数据交换

很久之前用过Socket&#xff0c;由于近期项目需要用socket传输视频流&#xff0c;早上花了半小时回顾了一下。 Socket类简要介绍 socket下提供的主要类有四个&#xff0c;分别是socket,tcpclient,tcplistener,udpclient&#xff0c;他们的作用如下&#xff1a; Socket 含有大量…

LeetCode 692. 前K个高频单词(优先队列)

1. 题目 给一非空的单词列表&#xff0c;返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。 如果不同的单词有相同出现频率&#xff0c;按字母顺序排序。 示例 1&#xff1a; 输入: ["i", "love", "leetcode", &q…