当前位置: 首页 > news >正文

java---jar详解

一、help

C:\Users\lichf1>jar
用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
选项:-c  创建新档案-t  列出档案目录-x  从档案中提取指定的 (或所有) 文件-u  更新现有档案-v  在标准输出中生成详细输出-f  指定档案文件名-m  包含指定清单文件中的清单信息-n  创建新档案后执行 Pack200 规范化-e  为捆绑到可执行 jar 文件的独立应用程序指定应用程序入口点-0  仅存储; 不使用任何 ZIP 压缩-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/ .

二、参数详解

1、简单打包

jar -cf jar包名     class-file1  class-file2 ......

2、-C dir 指定class文件路径,并打包该路径下的class文件

jar -cf jar包名  -C  dir  .  
#-C dir  相当于cd到该目录,然后执行打包命令
#将 foo/ 目录中的所有文件归档到 'classes.jar' 中:
jar cvfm classes.jar mymanifest -C foo/ .

3、-t 查看jar包文件列表

4、-v 打印详细信息

5、-m 指定自定义mainfest.mf文件,并将其中内容覆盖到META-INF\MAINFEST.MF文件中

6、-u 更新META-INF\MAINFEST.MF文件

7、-e 指定入口类,即 com.bos.YYZCApplication

8、 jar -i jar包 生成索引

9、-M 不创建META-INF\MAINFEST.MF文件

10、-x 解压

注意

清单文件名(mainfest文件), 档案文件名(jar包文件)和入口点(程序入口类)名称的指定顺序 与 ‘m’, ‘f’ 和 ‘e’ 标记的指定顺序相同

三、具体使用

1、将class文件打包,并指定入口类

D:\project>jar -cvfe com.bos.jar  com.bos.YYZCApplication   .\com\bos\*class    .\com\bos\service\*class
已添加清单
正在添加: com/bos/Student.class(输入 = 279) (输出 = 213)(压缩了 23%)
正在添加: com/bos/YYZCApplication.class(输入 = 557) (输出 = 375)(压缩了 32%)
正在添加: com/bos/service/Working.class(输入 = 288) (输出 = 222)(压缩了 22%)
## 执行
D:\project>java -jar com.bos.jar
hello worldD:\project>

2、将class文件打包,并指定自定义mainfest.mf文件,mainfest.mf在当前路径下

cat mainfes.mf
Manifest-Version: 1.0
Created-By: 1.8.0_144 (Oracle Corporation)
Main-Class: com.bos.YYZCApplication
D:\project>jar -cvfm com.bos.jar  mainfes.mf   .\com\bos\*class    .\com\bos\service\*class
已添加清单
正在添加: com/bos/Student.class(输入 = 279) (输出 = 213)(压缩了 23%)
正在添加: com/bos/YYZCApplication.class(输入 = 557) (输出 = 375)(压缩了 32%)
正在添加: com/bos/service/Working.class(输入 = 288) (输出 = 222)(压缩了 22%)D:\project>java -jar com.bos.jar
hello worldD:\project>

3、将test目录下的所有文件打包,并指定mainfest.mf文件,mainfest.mf在当前路径下(不是在test路径下)(注意最后的dot)

D:\project>jar -cvfm com.jar mainfes.mf   -C test .
已添加清单
正在添加: com/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/bos/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/bos/service/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/bos/service/Working.class(输入 = 288) (输出 = 222)(压缩了 22%)
正在添加: com/bos/service/Working.java(输入 = 163) (输出 = 102)(压缩了 37%)
正在添加: com/bos/Student.class(输入 = 279) (输出 = 213)(压缩了 23%)
正在添加: com/bos/Student.java(输入 = 141) (输出 = 90)(压缩了 36%)
正在添加: com/bos/YYZCApplication.class(输入 = 557) (输出 = 375)(压缩了 32%)
正在添加: com/bos/YYZCApplication.java(输入 = 308) (输出 = 186)(压缩了 39%)D:\project>java -jar com.jar
hello worldD:\project>

相关文章:

java---jar详解

一、help C:\Users\lichf1>jar 用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 选项:-c 创建新档案-t 列出档案目录-x 从档案中提取指定的 (或所有) 文件-u 更新现有档案-v 在标准输出中生成详细输出-f 指定档案文件名-m…...

uni-app 新增 微信小程序之新版隐私协议

一、manifest.json中配置 "__usePrivacyCheck__": true 二、编写封装后的组件 <template><view class"privacy" v-if"showPrivacy"><view class"content"><view class"title">隐私保护指引</…...

nbcio-boot移植到若依ruoyi-nbcio平台里一formdesigner部分(四)

到目前为止&#xff0c;虽然基础的formdesigner部分已经完成&#xff0c;但流程用formdesigner提交与审批过程中的显示还有问题。 1、后端部分 其中FormConf修改如下&#xff1a; package com.ruoyi.flowable.core;import lombok.Data;import java.util.List; import java.uti…...

公交查询系统

目录 需求分析 1 概述 2 课题分析 3 实现功能步骤 4 项目背景 概要设计 1 系统流程图. 2 功能模块. 3 各功能模块 4 数据存储 5 类设计 三、详细设计 1公交线路查询系统用户界面 2公交信息存储模快 3公交信息查询模块 4用户信息输入和输出模块 四、调试分析 五、使用说明 六、…...

opencv 轮廓顶点重新排序----四边形

def reorder(myPoints):# print(myPoints.shape)# 创建一个与myPoints具有相同形状和类型的数组myPointsNew np.zeros_like(myPoints)# 数组重塑为一个4行2列的数组myPoints myPoints.reshape((4,2))# 计算myPoints数组中每一行&#xff08;即每个点&#xff09;的坐标和add …...

【项目实战】【已开源】USB2.0 HUB 集线器的制作教程(详细步骤以及电路图解释)

写在前面 本文是一篇关于 USB2.0 HUB 集线器的制作教程&#xff0c;包括详细的步骤以及电路图解释。 本文记录了笔者制作 USB2.0 HUB 集线器的心路历程&#xff0c;希望对你有帮助。 本文以笔记形式呈现&#xff0c;通过搜集互联网多方资料写成&#xff0c;非盈利性质&#xf…...

分布式运用之rsync远程同步

一、rsync的相关知识 1.1 rsync简介 rsync&#xff08;Remote Sync&#xff0c;远程同步&#xff09;是一个开源的快速备份工具&#xff0c;可以在不同主机之间镜像同步整个目录树&#xff0c;支持增量备份&#xff0c;并保持链接和权限&#xff0c;且采用优化的同步算法&am…...

誉天在线项目~ElementPlus实现浏览页面注意点

浏览按钮 点击浏览按钮&#xff0c;传递列表数据索引值。 根据索引值从列表数据数组中获取当前行数据。 <el-button click"toView(scope.$index)" type"success" size"small"><el-icon><EditPen /></el-icon> 浏览<…...

神经网络-pytorch版本

pytorch神经网络基础 torch简介 torch和numpy import torch import numpy as np np_datanp.arange(6).reshape((2,3)) torch_datatorch.from_numpy(np_data) tensor2arraytorch_data.numpy() print(np_data,"\n",torch_data,"\n",tensor2array)torch的数…...

uniapp vue 页面传参问题encodeURIComponent

页面传参objet json序列化后可能会报错 Uncaught SyntaxError: missing ) after argument list 但不一定是数据有问题&#xff0c;而是json成字符串后&#xff0c;字符串中有特殊字符&#xff0c;所以导致parse的时候格式不对。所以解决方案如下 如果传递参数为对象的时候&…...

【GDAL】tif影像拼接和目标截取

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 一、gdal.Warp拼接tif二、截取1.通过经纬范围截取拼接的影像2.通过shp范围截取凭借后影像 三、WarpOptions其他参数四、其他方式裁剪1.通过sh…...

ARM核心时间线

指令集架构处理器家族(ARM RISC)ARMv1ARM1ARMv2ARM2、ARM3ARMv3ARM6、ARM7ARMv4StrongARM、ARM7TDMI、ARM9TDMIARMv5ARM7EJ、ARM9E、ARM10E、XScaleARMv6ARM11、ARM Cortex-MARMv7ARM Cortex-A、ARM Cortex-M、ARM Cortex-RARMv8-A armv8.2Cortex-A35、Cortex-A50系列[18]、Cor…...

【Redis】深入探索 Redis 的数据类型 —— 列表 List

文章目录 一、List 类型介绍二、List 类型相关命令2.1 LPUSH 和 RPUSH、LPUSHX 和 RPUSHX2.2 LPOP 和 RPOP、BLPOP 和 BRPOP2.3 LRANGE、LINDEX、LINSERT、LLEN2.4 列表相关命令总结 三、List 类型内部编码3.1 压缩列表&#xff08;ziplist&#xff09;3.2 链表&#xff08;lin…...

高精度乘除法(超详细)

高精度乘除法&#xff08;超详细&#xff09; 题目1-高精度乘法 给定两个非负整数&#xff08;不含前导 0&#xff09; A 和 B&#xff0c;请你计算 AB 的值。 输入格式 共两行&#xff0c;第一行包含整数 A&#xff0c;第二行包含整数 B。 输出格式 共一行&#xff0c;包含…...

List 获取前N条数据

1.使用for循环遍历 public static void main(String[] args) {int limit 5;List<Integer> oldList Lists.newArrayList(1, 2, 3, 4, 5, 6, 7);List<Integer> newList Lists.newArrayList();if (oldList.size() < limit) {newList.addAll(oldList);return;}fo…...

Spring入门控制反转(或依赖注入)AOP的关键概念 多配置文件与web集成

目录 1. 什么是spring&#xff0c;它能够做什么? 2. 什么是控制反转(或依赖注入) 3. AOP的关键概念 4. 示例 4.1 创建工程 4.2 pom文件 4.3 spring配置文件 4.4 示例代码 4.4.1 示例1 4.4.2 示例2 &#xff08;abstract&#xff0c;parent示例&#xff09; 4.4.3 使…...

排序算法-希尔排序

属性 1. 希尔排序是对直接插入排序的优化。 2. 当gap > 1时都是预排序&#xff0c;目的是让数组更接近于有序。当gap 1时&#xff0c;数组已经接近有序的了&#xff0c;这样就会很 快。这样整体而言&#xff0c;可以达到优化的效果。我们实现后可以进行性能测试的对比。 3.…...

ClientDataSet运行中出现“ClientDataSet:dataset not in edit or insert mode”(一)

在打开数据表文件&#xff0c;对ClientDataSet执行Append或Insert时&#xff0c;“ClientDataSet&#xff1a;dataset not in edit or insert mode”&#xff1a; 一、搜索问题 1、执行“显示数据后”&#xff0c;再执行Append&#xff0c;出错&#xff0c;说明ClientDataSet处…...

华为GaussDB数据库

Gauss数据库初识_高斯数据库_ygpGoogle的博客-CSDN博客 Redhat 7.6安装GaussDB_100_1.0.1详细攻略_gaussdb_100_1.0.1-database-redhat-64bit.tar.gz dow_博德1999的博客-CSDN博客 https://www.ngui.cc/el/3381579.html?actiononClick 初识GaussDB——GaussDB的发展历程、部…...

Flink、Spark、Hive集成Hudi

环境描述: hudi版本:0.13.1 flink版本:flink-1.15.2 spark版本:3.3.2 Hive版本:3.1.3 Hadoop版本:3.3.4 一.Flink集成Hive 1.拷贝hadoop包到Flink lib目录 hadoop-client-api-3.3.4.jar hadoop-client-runtime-3.3.4.jar 2.下载上传flink-hive的jar包 flink-co…...

小白挖漏洞必备的两个平台!有技术就能挖,没有上限,光靠挖洞月入1w+的都大有人在!_漏洞挖掘提交网站。

今天给大家推荐两个新手挖漏洞最合适的两个平台&#xff0c;有技术就能上&#xff0c;没有啥门槛&#xff0c;挖多赚多&#xff0c;练技术的同时把钱给赚了。 01补天 https://hack.zkaq.cn/ 这个平台应该是我推荐最多的&#xff0c;上面光靠挖漏洞月入几万的都大有人在 我有个…...

从nvidia-smi到npu-smi:给CUDA开发者的华为昇腾NPU监控指南

从nvidia-smi到npu-smi&#xff1a;CUDA开发者快速掌握昇腾NPU监控的实战手册 当你的技术栈从英伟达GPU扩展到华为昇腾NPU时&#xff0c;监控工具的使用体验就像从自动挡切换到手动挡——虽然最终目的地相同&#xff0c;但操作逻辑需要重新适应。作为曾经每天与nvidia-smi打交道…...

华为仓颉语言实战:除了‘hello world’,还能用数组和循环做什么?(数字统计案例详解)

华为仓颉语言实战&#xff1a;数字统计案例与核心语法深度解析 刚学会在仓颉语言中打印"hello world"的你&#xff0c;是否好奇这门新兴语言还能做什么&#xff1f;让我们从一个实际案例出发——统计正整数中各数字出现的频次。这个看似简单的任务&#xff0c;却能带…...

LM358运放实战:手把手教你搭建电容传感器测量电路(附常见问题排查)

LM358运放实战&#xff1a;手把手教你搭建电容传感器测量电路&#xff08;附常见问题排查&#xff09; 在电子设计领域&#xff0c;电容式传感器因其非接触式测量、结构简单和成本低廉等优势&#xff0c;被广泛应用于液位检测、接近开关和湿度测量等场景。而要将微弱的电容变化…...

专为AI打造的浏览器:内存占用仅为Chrome的1/9、比Chrome快11倍(Docker部署教程,支持飞牛nas等服务器部署)

文章目录 📖 介绍 📖 🏡 演示环境 🏡 📒 轻量级无头浏览器介绍与Docker部署指南 📒 📝 工具介绍 🎯 为什么选择它 🔧 Docker Compose 快速部署 💡 连接进行自动化操作 ⚠️ 注意事项 📊 性能对比 🎯 适用场景 ⚓️ 相关链接 ⚓️ 📖 介绍 📖 在自动…...

Windows平台APK安装技术深度解析:APK-Installer架构设计与实践指南

Windows平台APK安装技术深度解析&#xff1a;APK-Installer架构设计与实践指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK-Installer是一款专为Windows平台设计…...

阿里云服务器+域名备案全流程避坑指南(附小程序开发必备配置)

阿里云服务器与域名备案实战指南&#xff1a;从小程序开发到前后端部署全解析 第一次在阿里云上配置服务器并完成域名备案的经历&#xff0c;就像新手司机独自上高速——既兴奋又忐忑。记得去年我们团队开发校园服务小程序时&#xff0c;原本计划两周完成的服务器部署&#xff…...

Matrix Motor Extension:四通道嵌入式电机驱动模块详解

1. 项目概述Matrix Motor Extension 是一款面向嵌入式控制场景的四通道直流电机驱动扩展模块&#xff0c;专为需要多轴独立运动控制的智能硬件平台设计。其核心定位并非通用型电机驱动板&#xff0c;而是作为主控系统&#xff08;如 STM32、ESP32、Raspberry Pi Pico 等&#x…...

2023最新版CCF期刊目录下载指南(附Python自动抓取脚本)

2023科研数据自动化&#xff1a;CCF期刊目录高效处理实战指南 科研工作者常面临海量期刊数据的筛选与分析难题。中国计算机学会(CCF)发布的推荐期刊目录作为计算机领域的重要参考标准&#xff0c;其结构化处理与深度分析能力直接影响研究效率。本文将突破传统PDF手工处理模式&a…...

影墨·今颜GPU利用率提升方案:4-bit NF4量化让FLUX.1-dev响应提速300%

影墨今颜GPU利用率提升方案&#xff1a;4-bit NF4量化让FLUX.1-dev响应提速300% 1. 引言&#xff1a;当艺术创作遇上性能瓶颈 如果你用过AI绘画工具&#xff0c;尤其是那些追求极致写实效果的&#xff0c;大概率经历过这样的等待&#xff1a;输入一段精心构思的描述&#xff…...