Java开发工具-Jar命令
Java开发工具-Jar
1、jar命令全平台使用
2、jar命令的作用
为类和资源创建存档,并从存档中操作或恢复单个类或资源
3、摘要
jar [OPTION …] [ [–release VERSION] [-C dir] files] …
4、jar命令描述
jar命令通常作为用于压缩与解压的工具,基于ZIP或ZLIB格式, 最初jar命令是为打包applets(java小程序, jdk11之后就不在支持)或应用程序设计的,但是,从JDK9开始,用户可以使用jar命令打包模块化的jar。对于传输和部署,将模块打包为模块化jar通常更方便。jar命令的语法类似于tar命令的语法,它有几种主要的操作模式,由强制操作参数之一定义。其他参数要么是修改操作行为的选项,要么是执行操作所需的选项。当应用程序的模块或组件(文件,图像和声音)压缩到一个包中时,它们可以通过浏览器使用http协议直接下载,而不需要对每个模块分别下载。这极大的提高了下载效率,jar命令还可以压缩文件,这进一步缩短了下载时间。jar命令还支持对文件中的单个条目进行签名,以便对它们的来源进行身份验证。无论是否压缩,JAR文件都可以用作类路径入口。当您在给定目录的根目录或**.jar**包文件的根目录中包含模块描述符module-info.class时,归档文件就变成了模块化JAR。
操作修改符仅在创建和更新模式下有效,仅在创建或更新模块化jar或更新已存在的非模块化jar时有效。
–module-version
–hash-modules
–module-path
5、主要的操作模式
当使用jar命令时,必须指定要执行的操作。你可以通过包含本节中描述的适当操作参数来指定jar命令的操作模式。你可以将操作参数与其他单字母选项混合使用。通常,operation参数是命令行中指定的第一个参数。操作选项如下:
-c or --create
创建jar包
-i FILE or --generate-index=FILE
给生成的jar文件生成索引值,这个选项已经被注释掉了,未来的某个版本可能就会被去移除。
-t or --list
显示jar包中的文件列表
-u or --update
更新已存在的jar
-x or --extract
从jar中提取指定命名文件或者全部文件
-d or --describe-module
打印模块描述符或者自动化模块名称
6、自定义操作修饰符
你可以使用以下选项自定义jar命令中包含的任何操作模式的操作。
-C DIR
更改指定的目录,并包含命令行末尾指定的文件。
jar [OPTION …] [ [–release VERSION] [-C dir] files]-f FILE or --file=FILE
指定jar文件的名称
–release VERSION
创建一个多版本JAR文件。将选项后指定的所有文件放入JAR文件的一个名为META-INF/versions/VERSION/的版本化目录中,其中VERSION必须是一个值大于等于9的正整数。
在运行时,如果JAR中存在一个以上版本的类,JDK将使用它找到的第一个版本,首先在版本号与JDK的主版本号匹配的目录树中进行搜索。然后,它将查找版本号依次较低的目录,最后查找JAR的根目录。-v or --verbose
打印详细信息
7、仅在“创建”和“更新”模式下有效的操作修改符
你可以使用以下选项自定义创建和更新主操作模式的动作:
-e CLASSNAME or --main-class=CLASSNAME
指定绑定到模块化或可执行模块化JAR文件中的独立应用程序的应用程序入口点
-m FILE or --manifest=FILE
包含来自给定清单文件的清单信息。
-M or --no-manifest
不为条目创建清单文件。
–module-version=VERSION
在创建或更新模块化JAR文件或更新非模块化JAR文件时,指定模块版本。
–hash-modules=PATTERN
计算并记录与给定模式匹配的模块的散列,这些模块直接或间接依赖于正在创建的模块化JAR文件或正在更新的非模块化JAR文件。
-p or --module-path
指定用于生成哈希的模块依赖的位置。
@file
从文本文件中读取jar选项和文件名,就好像它们是在命令行中提供的一样
8、仅在“创建”、“更新”和“生成索引”模式下有效的操作修饰符
您可以使用以下选项自定义create (-c或——create)、update (-u或——update)和generate-index (-i或——generate-index=FILE)主要操作模式的操作:
-0 or --no-compress
存储不使用ZIP压缩。
–date=TIMESTAMP
ISO-8601中的时间戳扩展了带有可选时区格式的偏移日期时间,用于条目的时间戳,例如:“2022 - 02-12T12:30:00凌晨”。
9、其他操作符选项
以下选项由jar命令识别,不用于操作模式:
-h or --help[:compat]
显示jar命令的命令行帮助或可选的兼容性帮助。
–help-extra
显示额外选项的帮助
–version
打印程序的版本
10、使用jar命令的例子
jar --create --file classes.jar Foo.class Bar.class
创建一个classes.jar文件,其中包含两个类文件Foo.class和Bar.class。
jar --create --date=“2021-01-06T14:36:00+02:00” --file=classes.jar Foo.class Bar.class
创建一个classes.jar文件,其中包含两个类文件Foo.class和Bar.class并设置最后修改时间
jar --create --file classes.jar --manifest mymanifest -C foo/
通过使用包含foo/目录下所有文件的现有清单mymanifest,创建一个classes.jar包文件。
jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0 -C foo/classes resources
创建一个模块化JAR文件foo.jar,其中模块描述符位于classes/module-info.class中。
jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0 -C foo/module-info.class
将现有的非模块化JAR foo.jar更新为模块化JAR文件。
更多详情请参阅[https://docs.oracle.com/en/java/javase/23/docs/specs/man/jar.html]
相关文章:
Java开发工具-Jar命令
Java开发工具-Jar 1、jar命令全平台使用 2、jar命令的作用 为类和资源创建存档,并从存档中操作或恢复单个类或资源 3、摘要 jar [OPTION …] [ [–release VERSION] [-C dir] files] … 4、jar命令描述 jar命令通常作为用于压缩与解压的工具,基于ZIP或Z…...
flux文生图模型实践
flux文生图模型实践 flyfish https://github.com/black-forest-labs/flux Black Forest Labs发布FLUX.1 Tools,这是一套模型全家桶,旨在为FLUX.1基础文本转图像模型添加控制和可操纵性,从而实现对真实图像和生成图像的修改和重新创建。FLU…...
Lecture 19
冯诺依曼模型 (The von Neumann Model) 核心概念: 1. 冯诺依曼模型的基本结构: • 该模型描述了现代计算机的基本结构,包含以下关键组件: • 输入设备 (Input device): • 用于从用户向计算机传递信息,…...
学习EDK2显示图片
原本想看看Logo是怎么显示的,但是发现可以通过EDK显示Logo的方式显示图片,因为我发现它并没有解码函数,就是写个Driver,代码会有点乱,我后面会整理后修改的。 在MdeModulePkg下,我们可以找到Logo此文件夹。 Logo.ibf中…...
MYSQL如何重置root密码
如果您从未为MySQL分配root密码,则服务器根本不需要以root身份连接的密码。但是,这是不安全的。建议一定要设置root密码。 如果您知道root密码并想要更改它,推荐使用ALTER USER user IDENTIFIED BY auth_string; 如果您之前分配了root密码但…...
基于Python实现车辆检测、机动车检测、识别位置标记、计数
目录 引言背景与应用场景车辆检测的研究意义相关工作车辆检测概述机动车检测方法分类基于传统计算机视觉的检测方法基于深度学习的检测方法技术与方法车辆检测技术概述基于Python的车辆检测方法图像处理与特征提取深度学习方法(如YOLO、SSD、Faster R-CNN等)数据集与标注常用…...
277-基于八路256Ksps 24bit AD生物电震动检测FMC子卡
一、板卡概述 板卡基于AD7768 AD芯片设计的八路低速采集的FMC 子卡,支持直流耦合,产品应用于生物电、脑电波、声音,震动等信号采集。 二、板卡参数及性能 板卡功能 参数 内容 ADC 芯片型号 AD7768 路数 8路ADC, 采样率 2…...
连接Milvus
连接到Milvus 验证Milvus服务器正在侦听哪个本地端口。将容器名称替换为您自己的名称。 docker port milvus-standalone 19530/tcp docker port milvus-standalone 2379/tcp docker port milvus-standalone 192.168.1.242:9091/api/v1/health 使用浏览器访问连接地址htt…...
GitHub 上排名前 11 的开源管理后台(Admin Dashboard)项目
如果你是一名开发者,经常处理数据或参与项目管理,那么这篇文章绝对值得收藏!当你需要一个高效、易用的管理后台(Admin Dashboard)项目时,本文会给你灵感。 在现代企业管理和业务运营中,管理后台…...
C++ 实现map容器从大到小排序
map容器默认从小到大排序 利用仿函数可以修改map容器的排序规则为从大到小 示例: #include<iostream> #include<string> #include<map> using namespace std; class MyCompare { public: bool operator()(const int v1, const int v2) co…...
vue项目利用webpack进行优化案例
使用 Webpack 优化 Vue 项目是提升性能和减少打包体积的关键步骤。以下是几个常见的优化案例及其详细实现方法: 1. 优化打包大小 1.1 按需加载 (Lazy Loading) Vue 提供了路由懒加载功能,可以将组件拆分成独立的块,按需加载,从而…...
centos双网卡不能上网
双网卡类型 ens33 仅主机 ens34 NAT 问题 window配置一切正常,虚拟机不能上网 解决 方案1:路由引起 查看路由 route结果如下: [rootdata-repository ~]# route Kernel IP routing table Destination Gateway Genmask …...
十个Scala的小知识
# 1. 与Java的互操作性 Scala与Java有很好的互操作性。可以在Scala项目中直接使用Java类库,也可以将Scala代码编译后供Java项目使用。例如,一个Java框架可以轻松地集成Scala编写的代码模块。 # 2. 强大的集合库 Scala拥有功能丰富的集合库。像List、Se…...
Redis Stream:实时数据处理的高效解决方案
Redis Stream:实时数据处理的高效解决方案 引言 在当今这个数据驱动的时代,实时数据处理对于各种应用场景都至关重要。Redis,作为一个高性能的键值存储系统,自然也紧跟这一趋势,推出了Redis Stream——一种用于处理实…...
Bert中文文本分类
这是一个经典的文本分类问题,使用google的预训练模型BERT中文版bert-base-chinese来做中文文本分类。可以先在Huggingface上下载预训练模型备用。https://huggingface.co/google-bert/bert-base-chinese/tree/main 我使用的训练环境是 pip install torch2.0.0; pi…...
【Rust自学】8.5. HashMap Pt.1:HashMap的定义、创建、合并与访问
8.5.0. 本章内容 第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构,这些集合可以包含很多值。但是第八章所讲的集合与数组和元组有所不同。 第八章中的集合是存储在堆内存上而非栈内存上的,这也意味着这些集合的数据大小无需在编…...
使用云计算开发App 有哪些坑需要避免
当我们在云计算环境下开发App时,往往会觉得一切都变得“轻松”了。毕竟,云计算提供了无限的计算资源、灵活的存储方案,还有自动化的服务,仿佛有了一个万能的工具箱,啥都能搞定。可是,别被这种“轻松”外表骗…...
arcgis模版空库怎么用(一)
这里以某个项目的数据为例: 可以看到,属性表中全部只有列标题,无数据内容 可能有些人会认为空库是用来往里面加入信息的,其实不是,正确的用法如下: 一、下图是我演示用的数据,我们可以看到其中…...
C#控件开发4—仪表盘
目录 思路(GDI绘图)1.定义属性2.绘制图形3.最后生成(自定义各种监控值显示)End 如何让温度、湿度、压力等有量程的监控值如仪表盘(DashBoard)一样显示? 思路(GDI绘图) 定…...
基于BiTCN双向时间卷积网络实现电力负荷多元时序预测(PyTorch版)
Bidirectional Temporal Convolutional Network \begin{aligned} &\text{\Large \color{#CDA59E}Bidirectional Temporal Convolutional Network}\\ \end{aligned} Bidirectional Temporal Convolutional Network Bidirectional Temporal Convolutional Network (BiTC…...
No.2十六届蓝桥杯备战|练习题4道|数据类型|字符型|整型|浮点型|布尔型|signed|unsigned(C++)
B2002 Hello,World! - 洛谷 #include <iostream> using namespace std; int main() { cout << "Hello,World!" << endl; return 0; }打印飞机 #include <iostream> using namespace std;int main() {cout << " …...
前端项目 npm报错解决记录
1.首先尝试解决思路 npm报错就切换yarn , yarn报错就先切换npm删除 node_modules 跟 package-lock.json文件重新下载依 2. 报错信息: Module build failed: Error: Missing binding D:\vue-element-admin\node_modules\node-sass\vendor\win32-x64-8…...
正弦函数解析(sin.rs)
sin.rs文件提供了sin函数的实现,它计算并返回一个浮点数(f64类型)的正弦值。这个函数首先处理了一些特殊情况,如极小的值、无穷大和NaN(非数字),然后使用rem_pio2函数将输入参数x归约到[-π/2, …...
python 归并排序(Merge Sort)
归并排序(Merge Sort) 归并排序是一种高效的排序算法,采用分治法(Divide and Conquer)策略。它的基本思想是:将数组递归地分成两半,分别对两半进行排序,然后将排序后的两半合并成一…...
Zeotero安装”translate for Zotero“插件
一、Zeotero6translate for Zotero 1.0.28 二、打开Zeotero官网,找到下面圈起来的 三、点击以上连接跳转,Releases windingwind/zotero-pdf-translate 下载 zotero-pdf-翻译.xpi 四、打开zeotero,工具>附加组件(或插件&am…...
python 选择排序(Selection Sort)
选择排序(Selection Sort) 选择排序是一种简单的排序算法。它的基本思想是:每次从未排序的部分中选择最小(或最大)的元素,将其放到已排序部分的末尾。重复这个过程,直到所有元素都被排序。 选…...
履约系统:应用层、领域层、集成关系设计
在这篇文章中,我们一起探讨订单履约系统的应用架构设计。 应用架构设计 我们前面讨论了系统的核心概念模型和拆单逻辑。接下来,让我们从应用架构的角度,深入了解系统的各个层次。这包括应用层、领域层,以及与其他系统的集成关系。…...
SpringBoot开发——整合 Elasticsearch 实现数据高效搜索
文章目录 一、Elasticsearch 简介二、Spring Boot 整合 Elasticsearch 的准备工作1. 安装 Elasticsearch2. 创建 Spring Boot 项目3. 添加 Maven 依赖三、配置 Elasticsearch 连接四、定义实体类和仓库接口1. 定义实体类2. 定义仓库接口五、实现业务逻辑和控制器1. 实现业务逻辑…...
风力涡轮机缺陷检测数据集,91.4%准确识别率,18912张图片,支持yolo,PASICAL VOC XML,COCO JSON格式的标注
风力涡轮机缺陷检测数据集,91.4%准确识别率,18912张图片,支持yolo,PASICAL VOC XML,COCO JSON格式的标注 数据集下载: yolo v&#…...
直观解读 JuiceFS 的数据和元数据设计(一)
大家读完觉得有意义和帮助记得关注和点赞!!! 1 JuiceFS 高层架构与组件2 搭建极简 JuiceFS 集群 2.1 搭建元数据集群2.2 搭建对象存储(MinIO) 2.2.1 启动 MinIO server2.2.2 创建 bucket2.3 下载 juicefs 客户端2.4 创…...
【数据结构】(Python)差分数组。差分数组与树状数组结合
差分数组: 基于原数组构造的辅助数组。用于区间修改、单点查询。区间修改的时间复杂度O(1)。单点查询的时间复杂度O(n)。差分数组的元素:第一个元素等于原数组第一个元素,从第二个元素开始是原数组对应下标的元素与前一个元素的差࿰…...
基于zynq在linux下的HDMI实战
ZYNQ系列文章目录 第一章:基于zynq在linux下的phy调试记录 第二章:qemu制作ubuntu文件系统 第三章:基于zynq在linux下的AXI-CAN实战 第四章:基于zynq在linux下的HDMI实战 文章目录 ZYNQ系列文章目录前言一、vivado中HDMI的配置1.…...
HT-HaiBOX边缘计算盒 智慧工厂方案,智慧医疗方案,智慧加油站方案,智慧安防方案,智慧城市方案;方案定制开发
背景介绍 在当今数字化时代,各个行业对于智能化视频监控设备的需求日益增长。无论是安防监控,还是智慧工厂、智慧城市等领域,都需要高效、智能的设备来保障安全和提高生产效率。然而,传统的视频监控设备存在诸多痛点:…...
【JMeter详解】
JMeter详解 Apache JMeter 是一个开源的、100%纯Java应用程序,设计用于负载测试和性能测量。它最初是为测试Web应用程序而设计的,但后来扩展到其他测试功能。JMeter可以用来对静态和动态资源(如静态文件、Servlets、Perl脚本、Java对象、数据…...
《PHP Switch》
《PHP Switch》 介绍 PHP 是一种广泛使用的服务器端编程语言,而 switch 语句是 PHP 中用于基于不同条件执行不同代码块的关键字。在本篇文章中,我们将详细介绍 PHP 中的 switch 语句,包括其语法、用法、以及在实际编程中的应用场景。 语法…...
如何确保涡度通量观测数据的准确性?涡度通量光敏感性分析、温度敏感性分析、数据风浪区分析等
确保涡度通量观测数据的准确性,可以采取以下几个步骤: 1.数据预处理:在进行数据分析之前,需要对原始的高频涡度通量数据进行预处理,包括剔除异常值和进行数据缺失插补。异常值剔除可以通过设定合理的阈值来识别并剔除数…...
linux自动化批量分发SSH密钥同时批量测试SSH连接教程(包含自动化脚本代码)
1、检查端口 检查分发对象22端口是否打开 nmap -p22 ip地址如果要批量检查端口可以参考我写的这篇文章:linux自动化一键批量检查主机端口 2、命令行分发密钥原理 Linux分发密钥原理主要涉及SSH(Secure Shell)协议,该协议用于…...
C++ 设计模式:命令模式(Command Pattern)
链接:C 设计模式 链接:C 设计模式 - 访问者模式 命令模式(Command Pattern)是一种行为型设计模式,它将请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志…...
Flink源码解析之:Flink On Yarn模式任务提交部署过程解析
Flink源码解析之:Flink On Yarn模式任务提交部署过程解析 一、Flink on Yarn部署模式概述 Apache Hadoop YARN 在许多数据处理框架中都很流行。 Flink 服务提交给 YARN 的 ResourceManager,后者会在 YARN NodeManagers 管理的机器上生成容器。 Flink 将…...
C++算法20例
1、求两个数的最大公约数 int gcd(int a, int b) { 2 return b 0 ? a : gcd(b, a % b); 3} 2、判断素数 bool isPrime(int n) {if (n < 1) return false; for (int i 2; i * i < n; i) {if (n % i 0) return false;}return true; } 3、冒泡排序 void bubbleSort…...
雷军:科技传奇的逐梦之旅
亲爱的小伙伴们😘,在求知的漫漫旅途中,若你对深度学习的奥秘、Java 与 Python 的奇妙世界,亦或是读研论文的撰写攻略有所探寻🧐,那不妨给我一个小小的关注吧🥰。我会精心筹备,在未来…...
python版本的Selenium的下载及chrome环境搭建和简单使用
针对Python版本的Selenium下载及Chrome环境搭建和使用,以下将详细阐述具体步骤: 一、Python版本的Selenium下载 安装Python环境: 确保系统上已经安装了Python 3.8及以上版本。可以从[Python官方网站]下载并安装最新版本的Python,…...
linux tar 文件解压压缩
文件压缩和解压 tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 -z:有gzip属性的 -j:有bz2属性的 -v:显示所有过程 -O:…...
Razzashi Raptor
拉扎什迅猛龙 Razzashi Raptor 2024.12.24 无论是工作、游戏,除了坚持,还需要一点运气,2024年跨年啦。 World of Warcraft [CLASSIC]80猎人[Grandel][祖尔格拉布][血领主曼多基尔][拉扎什迅猛龙]20241231跨年回报_哔哩哔哩bilibili_魔兽 Ra…...
Fetch处理大模型流式数据请求与解析
为什么有的大模型可以一次返回多个 data? Server-Sent Events (SSE):允许服务器连续发送多个 data: 行,每个代表一个独立的数据块。 流式响应:大模型服务通常以流式响应方式返回数据,提高响应速度。 批量处理&#x…...
【网络安全实验室】脚本关实战详情
难道向上攀爬的那条路,不是比站在顶峰更让人热血澎湃吗 1.key又又找不到了 点击链接,burp抓包,发送到重放模块,点击go 得到key 2.快速口算 python3脚本 得到key 3.这个题目是空的 试了一圈最后发现是 4.怎么就是不弹出key呢…...
怎么配置每一次重启服务器后,自动启动Tocmat
前言 宝子们,今天来给大家详细讲讲服务器如何配置每次重启后自动启动 Tomcat,让你的服务器应用始终保持在线状态,高效运行! windows版本 在 Windows 系统下,有两种常用的方法可以实现这个目标。 第一种方法是利用服…...
《机器学习》——利用OpenCV库中的KNN算法进行图像识别
文章目录 KNN算法介绍下载OpenCV库实验内容实验结果完整代码手写数字传入模型训练 KNN算法介绍 一、KNN算法的基本要素 K值的选择:K值代表选择与新测试样本距离最近的前K个训练样本数,通常K是不大于20的整数。K值的选择对算法结果有重要影响,…...
D3.js
d3是用于数据可视化 可用于处理数据、创建图表、实现动画效果和交互功能应用场景: 数据可视:将复杂的数据以图表的形式展示出来,便于用户理解和分析。交互式图:支持事件处理和动画效果,提升用户体验。仪表盘和报:广泛…...
Windows onnxruntime编译openvino
理论上来说,可以直接访问 ONNXRuntime Releases 下载 dll 文件,然后从官方文档中下载缺少的头文件以直接调用,但我没有尝试过。 1. 下载 OpenVINO 包 从官网下载 OpenVINO 的安装包并放置在 C:\Program Files (x86) 路径下,例如…...