jar学习笔记

jar命令格式:

jar [c t x u f ][ v m e 0 M i ][-C 目录]文件名…
  • {ctxu}这四个参数必须选选其一
  • [v f m e 0 M 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命令

jar 打包指定MANIFEST.MF

MANIFEST.MF文件编写规则

(1) 不能有空行和空格的地方,第一行不可以是空行( 第一行的行前不可以有空行),行与行之间不能有空行,第行的行尾不可以有空格
(2) 一定要有空行的地方,最后一行得是空行(在输完你的内容后加一个回车就OK)
(3) 一定有空格的地方 key:value在分号后面一定要写写一个空格

创建可执行jar包

1.编辑manifest.mf文件
Main-Class: 主类名称(注意空格以及回车,不带class)
2.打包
java cvfm jar名称 manifest.mf 范围
3.可执行jar包
(1)存在依赖的jar
- 方法1:使用Bootstrap Classloader来加载这些类
参数:
-Xbootclasspath:完全取代系统Java classpath.最好不用
-Xbootclasspath/a: 在系统class加载后加载。一般用这个
-Xbootclasspath/p: 在系统class加载前加载,注意使用,和系统类冲突就不好了
java 参数jar包... -jar 可执行jar包名 传入参数
注:针对于win下,传入多个jar包时可以采用;,而针对于unix系统,可采用:.
- 方法二:用AppClassloader来加载
在MANIFEST.MF中添加Class-Path: jar位置
- 方法三:使用Extension Classloader来加载
把需要加载的jar都放到%JRE_HOME%/lib/ext下面,这个目录下面的jar,会在Bootstrap Classloader工作完后由Extension Classloader来加载
- 自定义classloader
(2)不存在依赖的jar
java -jar jar名称 [参数名称,...]

jvm加载流程:

Bootstrap ClassLoader:负责加载java基础类
Extension ClassLoader:负责加载java扩展类
App ClassLoader:负责加载当前java应用的classpath中的所有类

war文件

打包war:jar -cvf blog.war *
查看war:jar -tf blog.war
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值