获取已编译Jar包的system scope本地依赖Jar文件方法咨询
获取system scope本地依赖Jar的可行方法
检查主Jar内嵌资源
很多项目会把本地依赖直接打包进主Jar(比如用Maven的assembly或shade插件)。用解压工具(如7-Zip)打开你手里的反编译Jar,查看是否有lib、dependencies这类目录,里面可能直接包含目标依赖Jar,找到后直接提取即可。逆向推导并重建依赖
如果主Jar里没内嵌依赖,从反编译代码入手:- 定位目标依赖对应的类(通过代码里的import语句、全限定类名),收集该依赖下的所有类文件,确保目录结构和包名一致。
- 用JDK自带的
jar命令打包:jar cvf target-dependency.jar -C ./收集的类文件目录/ .,就能生成可用的依赖Jar。 - 若类结构匹配公开仓库的Jar,也可以用类名搜索Maven Central,找版本匹配的公开依赖替代。
利用pom.xml的路径线索
pom.xml里的scopePath是原项目的相对路径,比如lib/xxx.jar说明原项目根目录有lib文件夹存放该依赖。如果能找到原项目的源码仓库(通过Jar内的注释、类名关联的开源项目),直接去仓库的对应路径下载依赖Jar。从Maven本地仓库查找(限特定场景)
若该Jar是从某开发者机器打包的,且你能访问其Maven本地仓库(默认路径~/.m2/repository),可根据pom里的groupId、artifactId、version,去对应目录查找缓存的依赖Jar。
内容的提问来源于stack exchange,提问作者Alex IsBack
相关产品推荐
相关产品推荐

