Java jar打包 初识

目录

了解

jar程序

被归档的文件

清单文件MANIFEST.MF


了解

java提供了程序代码的快捷归档分发的方式,使用java归档工具对项目代码打包生成拓展名为jar的压缩文件,使用到了%JAVA_HOME%\bin\jar程序。

打包前,先编译程序代码为class文件,回顾javac


jar程序

jar 参数 参数值 被包含的文件

比如,最简单的打包命令 jar cf MyJAR.jar *  将会把当前目录下的所有文件打包到名为MyJAR.jar的文件中去。

常用参数如下

c 表示创建一个新的jar文件

u 表示要更新jar

f 程序将在命令行输出执行结果

e 向manifest.mf文件添加条目

M 默认不创建manifest.mf清单文件

m 读取另外提供的清单条目文件

t 列出jar文件内容

x 解压文件

0 不使用压缩,只是文件打包。不带该参数默认会压缩class

C 打包时忽略层级


指出参数后,参数值需要与参数的顺序对应

上面提到的最简单打包命令中,cf 与参数值 MyJAR.jar 顺序对应,其他以此类推。

被归档的文件

如果需要明确哪些文件需要添加到jar中,可以使用相对路径指出资源

jar cf MyJAR.jar .\Domain.class .\Service.class

被添加的文件之间使用空格分隔。如果是想包含一整个文件夹,可以使用通配符 *

jar cf MyJar.jar resource\*

如果需要将某个目录下的文件直接放到jar的根目录下,忽略掉这些文件所在的包层级,指出C参数

jar cf Myjar.jar -C resource smile.png

这样,smile.png打包之后,文件直接在jar的根目录

清单文件MANIFEST.MF简述

这是一个描述jar特征的特殊文件,文件中定义的条目是一个个key:value键值对,部分条目会影响jar的使用方式。如果希望jar是一个可被执行的程序,通常使用java -jar jar-file命令调用,则需要在清单文件中指定Main-Class条目,指出程序的启动类。

比如我的程序启动类全限定类名是com.demo.Boot,则需添加Main-Class:  com.demo.Boot

这样执行java -jar Boot.jar 就会执行main方法运行程序

如果是希望当类库,则该条目可选。

默认会创建一个清单文件,包含最简单的信息,创建jar时可以指出使用自己准备好的文件。

使用文件保存条目信息好过从命令中指出,可以重复使用。

到此,可以创建简单的jar文件,作为类库使用的话,检查类的访问控制,经过测试可以发给他人使用了。

有了Maven等构建工具后,打包操作会有些不同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值