jar的使用注意事项

假设当前目录下现在有一个类Hello.class,内容为:

public class Hello{
    public static void main(String[] args){
        System.out.println("hello world!");
    }
}

1.基本用法

jar的压缩格式其实就是遵循zip和zlib的压缩标准,所以jar支持压缩和解压缩.jar和.zip格式的压缩包。

创建压缩包常用:

jar cvf Hello.jar Hello.class //这里c表示创建,v表示在控制台显示压缩内容,f表示生成的压缩包名
这里创建后的jar包中包含清单文件,可以解压缩看看

jar cvf Hello.zip Hello.class //生成的zip里面也包含了清单文件

解压缩jar包常用:

jar xvf Hello.jar //x表示解压缩 压缩后会发现有个META-INF/MANIFEST.MF文件,里面默认都会加上创建日期和java版本

jar xvf Hello.zip //发现也有META-INF/MANIFEST.MF文件

上面打包的jar包不能直接执行,也就是说这里生成的jar包不能通过执行java -jar Hello.jar运行。

2.使用清单文件打包成可执行的jar包

首先创建清单文件,名字任意,但是清单文件里面一定要加上Main-Class属性指明包含程序入口的主类,例如创建清单文件manifest.mf

manifest.mf内容如下:

Main-Class: Hello

这里有特别要注意的地方:

(1) 属性名Main-Class不区分大小写,也就是说可以使用main-class或者mAin-Class都行;

(2) 属性名main-class后面一定要有冒号,冒号后面一定要有一个空格;

(3) 主类名后面一定不能加.class后缀,否则找不到主类;

(4) 主类名一定要包含包路径,如果主类中使用package test;那么这里就应该写Main-class: test.Hello;

(5) 这一行结束可以有换行,也可以不换行,不影响,会发现压缩可执行包Hello.jar中的清单文件是重新创建的META-INF/MANIFEST.MF,只是把manifest.mf中的内容拷贝到了文件后面;

生成可执行jar包命令:jar cvfm Hello.jar manifest.mf Hello.class //这里m表示清单文件的意思

运行可执行jar包命令:java -jar Hello.jar //hello world!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值