JAR命令&JAR包详解上

JAVA:解压和打包 JAR 文件的技术指南 Java JAR文件操作指南 本文介绍了Java JAR文件的基本概念和操作方式。JAR文件是基于ZIP格式的Java归档文件,包含一个特殊的META-INF/MANIFEST.MF文件。文章详细讲解了JAR文件的反编译、解压和打包方法,包括: 反编译工具(luyten、jd-gui)使用及注意事项,特别指出多线程代码可能无法反编译 两种解压方法:使用Java标准库(提供完整代码示例)和命令行工具(jar -xvf命令) 打包JAR文件方法:提供Java标准库实现代码 操作指南包含具体命令和代码示例.. 阅读详情
http://blog.chinaunix.net/u1/38934/showart.php?id=392012

<!--=========================Jack.Hao=================================-->

一.jar命令参数:

jar命令格式:jar {c t x u f }[ v m e i ][-C 目录]文件名...

其中{ctxu}这四个参数必须选选其一。[v f m e i ]是可选参数,文件名也是必须的。

-c 创建一个jar包

-t 显示jar中的内容列表

-x 解压jar包

-u 添加文件到jar包中

-f 指定jar包的文件名

-v 生成详细的报造,并输出至标准设备

-m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)

-0 产生jar包时不对其中的内容进行压缩处理

-M 不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置

-i    为指定的jar文件创建索引文件

-C 表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令

<!--===========================Jack.Hao==========================-->

二.jar使用范例:

(1)创建jar包

   jar cf hello.jar hello   利用test目录生成hello.jar包,如hello.jar存在,则覆盖

(2)创建并显示打包过程

jar cvf hello.jar hello     利用hello目录创建hello.jar包,并显示创建过程

例:E:\>jar cvf hello.jar hello

标明清单(manifest)

增加:hello/(读入= 0) (写出= 0)(存储了 0%)

增加:hello/TestServlet2.class(读入= 1497) (写出= 818)(压缩了 45%)

增加:hello/HelloServlet.class(读入= 1344) (写出= 736)(压缩了 45%)

增加:hello/TestServlet1.class(读入= 2037) (写出= 1118)(压缩了 45%)

(3)显示jar包

jar tvf hello.jar   查看hello.jar包的内容

指定的jar包必须真实存在,否则会发生FileNoutFoundException。

(4)解压jar包

jar xvf hello.jar   解压hello.jar至当前目录

(5)jar中添加文件

jar uf hello.jar HelloWorld.java     将HelloWorld.java添加到hello.jar包中

(6)创建不压缩内容jar包

jar cvf0 hello.jar *.class      利用当前目录中所有的.class文件生成一个不压缩jar包

(7)创建带manifest.mf文件的jar包

jar cvfm hello.jar manifest.mf hello

创建的jar包多了一个META-INF目录,META-INF止录下多了一个manifest.mf文件,至于manifest.mf的作用,后面会提到.

(8)忽略manifest.mf文件

jar cvfM hello.jar hello    生成的jar包中不包括META-INF目录及manifest.mf文件

(9)加-C应用:

jar cvfm hello.jar mymanifest.mf -C hello/

表示在切换到hello目录下然后再执行jar命令

(10)-i为jar文件生成索引列表

当一个jar包中的内容很好的时候,你可以给它生成一个索引文件,这样看起来很省事。

jar i hello.jar     执行完这条命令后,它会在hello.jar包的META-INF文件夹下生成一个名为INDEX.LIST的索引文件,它会生成一个列表,最上边为jar包名。

(11)导出解压列表

jar tvf hello.jar >hello.txt   如果你想查看解压一个jar的详细过程,而这个jar包又很大,屏幕信息会一闪而过,这时你可以把列表输出到一个文件中,慢慢欣赏!

(12)jar -cvf hello.jar hello/*

   例如原目录结构如下:

   hello

     |---com

     |---org

你本想只把com目录和org目录打包,而这时jar命令会连同hello目洋也一块打包进。这点大家要注意。jar命令生成的压缩文件会包含它后边出的目录。我们应该进入到hello目录再执行jar命令。

注意:manifest.mf这个文件名,用户可以任指定,但jar命令只认识Manifest.mf,它会对用户指定的文件名进行相应在的转换,这不需用户担心。

<!--===========================Jack.Hao==========================-->

三.Manifest.mf文件编写规则:

manifest.mf的编写一定要注意一些细节,它是很苛刻的,我在此也载过不少跟头,谁让它这么小气呢,没办法,所以专门给大家列出来。

(1) 不能有空行和空格的地方

    第一行不可以是空行( 第一行的行前不可以有空行),行与行之间不能有空行,第行的行尾不可以有空格

(2) 一定要有空行的地方

最后一行得是空行(在输完你的内容后加一个回车就OK)

(3) 一定有空格的地方

     key: value       在分号后面一定要写写一个空格

<!--=========================Jack.Hao=================================-->

DCDC系列(一): COT DCDC基本原理 电流环DCDC属于双环控制模式,根据电流检测的位置,分为峰值电流环控制模式、谷值电流环控制模式和平均电流环控制模式,主要由输出电压反馈环和电流环两个环路来实现控制,其瞬态响应比电压环更好,且有自动限流的功能,但仍需要斜坡补偿网络,且对噪声敏感。Stage3: 在下管NMOS打开阶段,由于后级负载此时间段内消耗的电量较少,所以VFB还未低至Vref,所以此阶段中,上管PMOS和下管NMOS均处于关断状态,此时的电感电流为0mA,此阶段测的VSW上的电压就是Cout上的电压VREG; 阅读详情

相关推荐

如何入门强化学习

很多同学在入门强化学习的时候都会遇到困难,那我这里就简单介绍一下应该如何入门强化学习,并以开源代码为例详解强化学习实战。

seeksister的博客 3302

jar包打包实践

作为java程序员,打包是一项基础性的技能。开发工具一般都集成了相应的打包功能,似乎不用我们投入过多的关注。但是开发工具的打包功能也不是万能的,也不一定能适合所有的场景。就好比交通工具,虽然有汽车,但是在交通拥堵的路面也许不如自行车灵活方便。所以我们还是有必要去了解一下如何使用JDK自带的工具进行打包。3.非springboot项目如何使用springboot的打包方式。1. 不打包运行java应用程序。2.命令行打包的几种方式。

weixin_38526093的博客 4925

RT-Thread代码启动过程——以及 $Sub$ $main 与 $Super$ $main

我们找到系统复位的地方,可以往下单步跟踪。 ①从系统初始化开始执行,将函数地址赋给R0寄存器,跳转到R0地址执行并返回此处(BLX是带链接的跳转,即带返回的跳转)。 ②将main函数地址给R0,将函数地址赋给R0,跳转到R0地址执行,不返回(BX是跳转,不返回)。 ③跳转到了$Sub$$main。 【注:在 __CC_ARM 编译器环境下,使用了$Sub$$ 与$Super$ $ 的...

yang1111111112的博客 1万+

我写的dubbo扩展jar包如何无侵入的给别人使用

有这么一个场景, 我写了一个dubbo spi扩展jar包 dubbo-ext.jar; 这个Jar包是不可执行包(没有main函数), 它的作用是对现有运行的dubbo服务做一些增强; 那么这样的一个扩展包,要符合即插即用的原则;要无侵入的增强; 正常情况下我们可能直接在pom文件依赖一下这个包;因为无侵入原则,那么这条路就不能走了; 那可怎么办呢? 1.Tomcat启动方式 如果目标服务是用T...

石臻说AI(szzdzhp001) 【原名 石臻臻的杂货铺】 5643

Ansys Motor-CAD:概述(EMag、THERM、LAB、MECH)

在这篇博客中,我概述了如何使用 Ansys Motor-CAD 模型、模拟、分析和后处理结果来评估电机性能,并帮助您为您的应用选择优化的电机,并通过电机设计选择实现成本效益和效率。我介绍了各种可用的电机类型、可供选择的物理模块和可配置的多物理选项。E-Mag 物理模块有许多选项卡,涵盖几何创建、材料选择、电磁设置、条件、求解器类型、解决方案模型、耦合设置等的所有设置。热物理模块有许多选项卡,涵盖几何创建、材料选择、热设置、条件、求解器类型、解决方案模型、耦合设置等的所有设置。分析结果的速度相结合。

jkh920184196的博客 1754

Python+Vue计算机毕业设计风电场监控系统的设计与实现7bd6i(程序+LW+源码+部署)

Python3.7.7+Django+Mysql5.7+pip list+HBuilderX(Vscode也行)+Vue+Pychram社区版。2. 前端:vue+css+javascript+jQuery+easyUI+highcharts。2.IDE环境:Python和Python 社区版都可以。Django + Vue +Python+Mysql 等等组成,B/S模式等等。该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。1. 后端:Python、Vue、Django、Mysql。

华信计算机毕设源码程序 340

Java 之使用 jar 命令打包

为何打包(jar包)?为了项目的部署和发布,你的程序可能使用很多个类,把这些类和他们的目录一起压缩到一个文件中给别人,可以方便使用,通常在打包时候,会在里面加上部署的相关信息。打包实际上就是把代码和依赖的东西压缩在一起,变成后缀名为. jar包,别人拿到这个jar包之后,双击它从而运行。

cnds123的专栏 3万+

#基于原生JS的交互式代码高亮编辑器实现教程

本文介绍了一个轻量级交互式代码高亮编辑器的实现方案。该编辑器采用原生JavaScript开发,支持语法高亮、行号显示、主题切换等核心功能,适合嵌入博客、文档等场景使用。 项目技术栈包括HTML5/CSS3/JavaScript,使用Prism.js实现语法高亮,prettier提供代码格式化功能。编辑器界面分三个区域:顶部工具栏(语言选择/主题切换)、中间编辑区(行号+代码)、底部状态栏(语言/字符数)。 核心功能实现包括:通过contenteditable属性创建可编辑区域,Flex布局实现行号与代码同步

qq_42386733的博客 1035

替换jar包之中的文件通过-u命令 unzip解压

jar 相关命令

大哥的叔的博客 4733

win11下的MySQL安装

目前官方最新版本是8.0.26,考虑到其稳定性、可靠性还需一定周期保证,所以使用官方版求稳定仍然建议5.7系列。3、选择MySQL Servers 5.7.38 -x64,然后按绿色箭头将选中的版本移植到右边选中框中。4、点击下方蓝色Advanced Options,选择安装位置。1、在开始界面搜索MySQL,点击command line。4、在“系统变量”中选择“path”,点击编辑。5、新建——>增加MySQL路径——>确定,12、execute,安装好后next。9、不需要做修改,直接点击next。.

rensweet的博客 2万+

【ComfyUI专栏】安装Triton组件

Triton是一款支持大模型推理的深度学习加速组件,最初仅支持Linux平台,现已通过开源社区适配Windows系统。针对SageAttention的安装,建议使用3.2.0Post10版本(该版本提供封装好的安装包,更高版本仅有源码)。用户可通过GitHub获取安装资源,或直接使用pip命令"pip install triton-windows"进行安装。安装时需注意:1)在虚拟环境中操作;2)使用管理员权限。相关资源链接已在文中提供。

技术与管理的平衡木- 1859

JAR命令&JAR包详解

JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包。当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成。 JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类。这些细节就不用管它了。 让我...

逍遥阁 1260

YOLOv8改进 | Conv篇 | 轻量级下采样方法ContextGuided(大幅度涨点)

ContextGuided通过创新的局部-全局协同机制,解决了传统下采样方法中细节丢失与上下文缺失的核心痛点。实验证明其在YOLOv8上可实现最高2.6%的mAP提升,且计算开销增加不足5%。这种即插即用的设计为实时目标检测系统提供了新的优化方向。创新启示:轻量化不代表简单裁剪,智能信息融合才是未来方向!下一步探索与Transformer结合构建混合架构多尺度上下文融合机制3D点云中的扩展应用资源获取完整训练代码:[GitHub链接]预训练模型:[Google Drive链接]讨论话题。

QQ_778132974的博客 288

【转自chinaunix】JAR命令&JAR包详解

原文地址http://blog.chinaunix.net/u1/38934/showart.php?id=392012JAR命令&JAR包详解     write by Jack.Hao JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包。当然也是有区别的,JAR包中有一个META-INF/MANIFEST.MF文件,当你找成JAR包时,它会自动生成。JA

1526

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JAR命令&JAR包详解[转载]

<br />JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包。当然也是有区别的,JAR包中有一个META-INF/MANIFEST.MF文件,当你找成JAR包时,它会自动生成。 <br />JAR包是由JDK安装目录/bin/jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib/tool.jar工具包中的类。这些细节就不用管它了。 <br />让我们看看它怎么么使用吧: <br />  <br /><!--========

wushouchun2007的专栏 579

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: jar详解
下一篇: JAR命令&JAR包详解(下)
HNFXS985
博客等级 码龄14年 219粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值