Java - 获取 Jar 包内的 pom.xml 文件

本文介绍了如何通过jar和unzip命令查看和导出jar包内的pom.xml文件,以及导出.class文件,适用于处理他人提供的jar包,包括使用工具如GD-GUI进行反编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.引言

二.通过 jar 命令

◆ 查看 Jar 包内文件

◆ 导出 Pom.xml

◆ 导出 Jar 包内文件

三.通过 unzip 命令

◆ 导出 Jar 包内文件

四.总结


一.引言

引用其他同学的 Jar 包时,需要获取其对应 jar 包内的 pom.xml 文件检查版本依赖关系,下面介绍两种直接读取 jar 包获取文件的方法。

二.通过 jar 命令

◆ 查看 Jar 包内文件

想要获取 jar 内的 pom.xml 文件,需要先确认是否存在该 xml,使用 jar tf xx.jar 命令查看 jar 内全部文件:

jar tf your-artifact.jar | grep pom.xml

◆ 导出 Pom.xml

通过 grep pom.xml 会得到多个项目内的 pom.xml,我们根据 artifactId 找到自己项目的 pom.xml 然后执行下述命令:

jar xf your-artifact.jar META-INF/maven/<groupId>/<artifactId>/pom.xml

这里 <groupId> 与 <artifactId> 根据上面 grep 得到的内容填写即可,无需指定版本,要是有多个版本可能就要 NoSuchMethod 了。执行后在当前目录会生成 META-INF 的文件夹,向下一层一层检索即可得到对应的 pom.xml 文件了。

◆ 导出 Jar 包内文件

除了 pom.xml 外,jar 包内的文件其实都可以导出,只要按照 xf 得到的内容路径替换上面的命令即可,不过这里不能得到原生的 .java 和 .scala 文件,只可以获得编译后的 .class。

三.通过 unzip 命令

◆ 导出 Jar 包内文件

unzip your-artifact.jar org/ahocorasick/trie/PayloadTrie$1.class

执行命令后在当前文件夹可以得到 org/... 的嵌套文件夹,打开即可获取 jar 包内文件。 

四.总结

这个方法主要适用于别人提供给你 Jar 包,当时也有一些 Jar 包解析的工具和 App,如果想显式操作直接应用即可,例如 GD-GUI。对于得到的 .class 文件,也可以反编译获取内部的一些代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BIT_666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值