最近遇到一个奇怪的问题,一个jar包无法解压,直接使用jar xvf xxx.jar
没有任何响应
因为实际想看的只是jar包中的某个class文件,基于此可以通过 jar tf
查看文件列表,在通过 jar xf xxx.jar xxxfile
的方式来解压指定文件来实现目的
接下来记录一下jar包的几个操作case
1. jar包生成
直接通过jar命令可以非常简单的将class文件打包到一个jar中
一个简单的java类
1 | public class Hello { |
打包jar命令
1 | javac Hello.java |
直接使用上面这种打包,会有一个问题,当jar包中,有多个class文件存在main方法时,会提示没有主清单属性
1 | $ java -jar Hello.jar |
主要原因就是在清单文件MANIFEST.MF
中,没有指定主类
指定主类
1 | Manifest-Version: 1.0 |
打包命令如下(下面新增了一个Wel.java,源码就不说了)
1 | jar cvfm B.jar MAINFEST.MF -c Hello.class Wel.class |
2. jar文件列表查看
查看jar中有哪些文件,除了直接使用vim之外,还可考虑通过下面的命令
1 | # tf 来查看jar包中的文件列表 |
使用tf进行查看,就可以结合 grep 来过滤指定的文件
3. 指定文件提取
对于jar文件整个解压,可以直接使用
1 | jar xvf B.jar |
当我们只希望提取jar包中的某个文件时,可以在后面添加需要提取的文件路径
1 | # 指定文件提取 |
一灰灰的联系方式
尽信书则不如无书,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
- 个人站点:https://blog.hhui.top
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
- 微信公众号:一灰灰blog