我是靠谱客的博主 酷酷大炮,最近开发中收集的这篇文章主要介绍jar命令解析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

jar命令解析

文章目录

    • jar命令解析
      • 1、什么是jar
      • 2、命令格式
      • 3、用法示例
        • 3.1、用处
        • 3.2、解压jar
        • 3.3、打包jar
        • 3.4、列出jar包内的文件
        • 3.5、替换jar包文件
        • 3.6、运行jar包

1、什么是jar

JAR(Java Archive)是Java的归档文件,它是一种与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。

JAR文件(Java归档,英语:Java Archive)是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。

2、命令格式

用法: jar {ctxui} [vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files …

{ctxu},这四个参数必须选选其一。

{v f m e 0 M i},这几个是可选参数,

文件名也是必须的。

查看 jar 命令用法

$ jar --help

选项:
-c 创建新档案
-t 列出档案目录
-x 从档案中提取指定的 (或所有) 文件
-u 更新现有档案
-v 在标准输出中生成详细输出
-f 指定档案文件名
-m 包含指定清单文件中的清单信息
-n 创建新档案后执行 Pack200 规范化
-e 为捆绑到可执行 jar 文件的独立应用程序
指定应用程序入口点
-0 仅存储; 不使用任何 ZIP 压缩(此处为零,非O)
-P 保留文件名中的前导 ‘/’ (绝对路径) 和 “…” (父目录) 组件
-M 不创建条目的清单文件
-i 为指定的 jar 文件生成索引信息
-C 更改为指定的目录并包含以下文件
如果任何文件为目录, 则对其进行递归处理。

清单文件名, 档案文件名和入口点名称的指定顺序

与 ‘m’, ‘f’ 和 ‘e’ 标记的指定顺序相同。

示例 1: 将两个类文件归档到一个名为 classes.jar 的档案中:
jar cvf classes.jar Foo.class Bar.class
示例 2: 使用现有的清单文件 ‘mymanifest’ 并将 foo/ 目录中的所有文件归档到 ‘classes.jar’ 中:
jar cvfm classes.jar mymanifest -C foo/ .

3、用法示例

3.1、用处

当在服务器上需要修改某些 fatjar的时候这些命令会非常有帮助,避免了直接上传大文件,可以直接将jar包解压后,替换自己的业务代码jar包,然后在重新压缩,会提高很多效率。

3.2、解压jar

# 解压jar包到该目录中
$ jar -xvf demo.jar
# 有时候我们需要解压jar包到指定目录,这时候用unzip反而更方便
$ unzip demo.jar ./demo

3.3、打包jar

# (M)不生成清单文件,(0)零不压缩,指定打包目录
$ jar -cvfM0 demo.jar BOOT-INF/ META-INF/ org/
# 打包当前目录所有
$ jar -cvfM0 demo.jar *

3.4、列出jar包内的文件

# 列出jar包内文件
$ jar -tf demo.jar
# 列出jar包内文件及详细信息
$ jar -tvf demo.jar

3.5、替换jar包文件

# 直接替换jar包里的文件,例如业务jar
# 将要替换的文件放到与jar包中同样的位置上
$ jar -uvf0 business.jar BOOT-INF/lib/cube-core.jar

3.6、运行jar包

$ java -jar demo.jar
# 运行jar包并输入日志到指定文件中
$ java -jar demo.jar > log.log 2>&1 &

最后

以上就是酷酷大炮为你收集整理的jar命令解析的全部内容,希望文章能够帮你解决jar命令解析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部