jar学习笔记

来源:互联网 发布:锐捷交换机查mac 编辑:程序博客网 时间:2024/06/07 12:28

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)不存在依赖的jarjava -jar jar名称 [参数名称,...]

jvm加载流程:

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

war文件

打包war:jar -cvf blog.war *查看war:jar -tf blog.war
原创粉丝点击