【疯狂Java讲义】Java学习记录(使用jar命令打包)

news2025/1/16 6:44:06

jar命令

        把多个文件打包成一个压缩包——这个压缩包和WinZip的压缩格式是一样的。

        区别在于jar压缩的文件默认多一个META-INF的文件夹,该文件夹里包含一个MANIFEST.MF的文件(清单)。

        通常来说,得到的压缩包有3种(压缩格式完全一样,只是后缀名不同而已):

        1、*.jar

                它里面包含N个class文件。

        2、war(Web)

                它是一个Web应用打包生成的包。

        3、ear(Enterprise)

                它是一个企业应用打包生产的包。

jar命令的用法:

-c
-t
-x
-v
-f
-m
-e
-0
-M
-i
-C

1、创建压缩包

jar -cf jar包名字.jar *.class

 生成更加详细的输出

jar -cvf jar包名字.jar *.class

2、创建压缩包,不生成清单文件

jar -cvMf jar包名字.jar *.class

3、查看压缩包

jar -tf jar包名字.jar

查看更加详细的信息

jar -tvf jar包名字.jar

4、解压压缩包

jar -xf jar包名字.jar

解压,看到详细的过程

jar -xvf jar包名字.jar

5、更新压缩包

jar -uvf jar包名字.jar *.class

为什么要制作jar包?

一个真实的项目中,涉及到的class文件是非常多的。存在如下问题:

1、非常多的class文件,系统管理不方便。

2、JVM需要分开、依次加载不同的*.class文件,效率很低。

于是就可以把多个class文件,打包成一个jar包,好处是:

1、多个class被统一成了一个jar包,方便管理。

2、JVM可以直接加载jar包,就可以一次就加载N个类,效率更高。

可以打包出“可执行性”的jar包。

        通过-e选项,告诉系统哪个类是该jar的主类。

jar -cvfe jar包名字.jar 主类名字 *.class

如果机器安装了独立的虚拟机,只要双击“可执行性”的jar包即可运行。

java -jar jar包名字

如果不需要生成清单文件(MANIFEST.MF),可以直接使用WinRAR或WinZip压缩,也可以用WinRAR或WinZip来解压。

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

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

相关文章

机器学习tip:sklearn中的pipeline

文章目录 1 加载数据集2 构思算法的流程3 Pipeline执行流程的分析ReferenceStatement 一个典型的机器学习构建包含若干个过程 源数据ETL数据预处理特征选取模型训练与验证 一个典型的机器学习构建包含若干个过程 以上四个步骤可以抽象为一个包括多个步骤的流水线式工作&…

Ubuntu安装和配置ssh

一般Ubuntu都会默认安装openssh-client,但是没有安装openssh-server。 一、安装ssh服务器 sudo apt install openssh-server 二、安装ssh客户端 sudo apt install openssh-client 三、 配置ssh客户端,去掉PasswordAuthentication yes前面的#号,保存退出 sudo vi /etc/ssh…

mysql按照日期分组统计数据(date_formatstr_to_date)

学习链接 mysql按照日期分组统计数据 博主-山茶花开时的 【Mysql专栏学习】 mysql按照日期分组统计数据 Mysql的date_format函数想必大家都使用过吧,一般用于日期时间转化,如下所示 # 可以得出 2023-01-01 08:30:50 select DATE_FORMAT(2023-01-01…

NodeMCU ESP8266 的PWM波形输出教程(图文并茂)

NodeMCU ESP8266 基于 Arduino 的 PWM波形输出 文章目录 NodeMCU ESP8266 基于 Arduino 的 PWM波形输出什么是PWM?常用接口pinModeanalogWrite 示例总结 什么是PWM? PWM是脉冲宽度调制(Pulse Width Modulation)的缩写,是一种用于控制电子设…

百度的新想象力在哪?

理解中国大模型,百度是一个窗口。这个窗口的特殊性不仅在于变化本身,而是在于百度本身就是那个窗口。 作者|皮爷 出品|产业家 沿着首钢园北区向西北步行10分钟,就能看到一个高约90米的大跳台,在工业园钢铁痕迹的印衬下&#…

9.构造器与垃圾收集器 对象的前世今生

9.1 对象与变量的生存空间 栈与堆:生存空间 在Java中,程序员会在乎内存中的两种区域:对象的生存空间堆(heap)和方法调用及变量的生存空间(stack)。当Java虚拟机启动时,它会从底层的…

CSS之Flex布局的详细解析

Flex布局 目标:熟练使用 Flex 完成结构化布局 01-标准流 标准流也叫文档流,指的是标签在页面中默认的排布规则,例如:块元素独占一行,行内元素可以一行显示多个。 02-浮动 基本使用 作用:让块元素水平排列…

【生成模型】DDPM概率扩散模型(原理+代码)

--- 前言一、常见生成模型二、直观理解Diffusion model三、形式化解析Diffusion model*四、详解 Diffusion Model(数学推导)1.前向过程(扩散过程)2.逆扩散过程3.逆扩散条件概率推导4.训练损失 五、训练、测试伪代码1. 训练2.测试 六、代码解析1.train_ci…

进程的描述、控制与通信

一、概念 进程的状态 进程的最基本状态 就绪态执行态阻塞态 为保证完整性,再引入两种状态 创建态终止态 引入挂起操作后,引入的状态 活动就绪静止就绪活动阻塞静止阻塞 挂起:当挂起操作作用于某个进程时,该进程将被挂起&…

基于LSTM时间序列预测(简单又好用)无脑代码

# 基于LSTM时间序列预测(简单又好用)无脑代码, 这里是列表文本使用很简单,跟着注释和使用手册用就行. 简介: 1、单变量,多变量输入,自由切换 2、单步预测,多步预测,自动…

1.集合框架

一、JDK版本之间的关系 1.1、Oracle JDK与OpenJDK的区别 1.Oracle JDK是基于OpenJDK源代码构建的,因此Oracle JDK和OpenJDK之间没有重大的技术差异。 2.Oracle JDK将更多地关注稳定性,它重视更多的企业级用户,而OpenJDK经常发布以支持其他性能…

电子技术基础(三)__第7章 时序逻辑电路_第6篇__时序逻辑电路的分类

时序逻辑电路的分类, 通常按两种来分类: 按逻辑功能, 按触发器状态的变化规律。 一. 同步、异步的定义 同步时序逻辑电路 是 所有触发器有一个共同的时钟控制信号CP, 在CP脉冲信号的作用下,触发器状态的变化同时发生,…

40G光模块的兼容性与协议标准

40G光模块的兼容性与标准化是确保光通信系统稳定运行的关键因素。在下文中,易天光通信将对40G光模块的兼容性和标准化进行分析和讨论。 一、关于40G光模块的兼容性方面 40G光模块的兼容性主要涉及两个方面:光接口的兼容性和协议的兼容性。 光接口兼容…

零基础如何自学C#?

前言 本文来源于知乎的一个提问,提问的是一个大一软件工程专业的学生,他想要自学C#但是不知道该怎么去学,这让他感到很迷茫,希望有人能给他一些建议和提供一些学习方向。 个人建议 确认目标:自学C#首先你需要大概了解…

“第四十四天”

这道题也不是难,但可能会忽略一种情况,当最大小出现在首位的时候,那个时候如果进行交换的话,大小值可能出现覆盖的情况,最终导致丢失最大值或者最小值,比如最大值 10 在第一位,最小值 0 随意&am…

对电动汽车的高压互锁的理解

什么是高压互锁系统 什么是高压互锁系统?高压互锁系统(HighVoltageInter-lock,简称HVIL),也叫高压互锁回路系统(HazardousVoltageInterlockLoop) 高压互锁的原理 高压互锁是利用低压回路的检测信号来判断高压回路每个高压接插件各自是否连…

文件管理系统的基本认识

1.文件的属性 文件的定义:一组有意义的信息的集合。 1.文件名: 由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件。 2.标识符: 一个系统内的各文件标识符唯一,对用户来说毫无可读性, 因此…

C++实现AC自动机,剪枝、双数组压缩字典树!详解双数组前缀树(Double-Array Trie)剪枝字典树(Patricia Trie)

代码在:github.com/becomequantum 最近研究了一下字典树,什么AC自动机,双数组压缩字典树,剪枝字典树都自己写代码实现了一下。这本该是本科学数据结构时该玩明白的东西,我到现在才会玩。本视频主要介绍一下双数组和剪…

Stanford CS224N - word2vec

最近在听Stanford放出来的Stanford CS224N NLP with Deep Learning这门课,弥补一下之前nlp这块基础知识的一些不清楚的地方,顺便巩固一下基础知识😁 关于word2vec: 1.为什么要把单词表示成向量 一开始人们造了一个类似于词典表…

【系统与工具】系统环境——VMware安装系统

文章目录 0.1 安装VMware0.2 下载ubuntu镜像0.3 创建系统实例0.4 安装ubuntu0.5 实例配置项0.5.1 安装VMware tools0.5.2 修改静态IP0.5.3 ssh连接 0.6 克隆0.6.1 克隆实例生成MAC地址 0.6.2 修改静态ip0.6.3 修改主机密码名称 参考:https://blog.csdn.net/m0_51913…