Maven error in opening zip file?maven源码debug定位问题jar包

这篇具有很好参考价值的文章主要介绍了Maven error in opening zip file?maven源码debug定位问题jar包。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

已录制视频
视频连接

问题发现

最近使用maven分析jar包的时候遇到了一个很搞的问题。我在terminal中输入指令mvn dependency:analyze,出现如下报错
Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试

分析问题发现是 zip file(就是jar包) 打开错误。但maven没告诉我到底是哪个jar包出问题了,只告诉我是dianming-common模块依赖的jar包出问题了,我想查看更详细的信息,于是添加了如下参数

mvn dependency:analyze -e -X重新运行。

好消息,maven输出了更多的信息,坏消息,maven还是没告诉我到底是哪个zip file炸了
Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试

全部的报错信息

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.139 s
[INFO] Finished at: 2024-01-20T15:23:56+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:3.1.2:analyze (default-cli) on project dianming-common:
 Cannot analyze dependencies: error in opening zip file -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:3.1.2:a
nalyze (default-cli) on project dianming-common: Cannot analyze dependencies
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:954)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot analyze dependencies
    at org.apache.maven.plugins.dependency.analyze.AbstractAnalyzeMojo.checkDependencies (AbstractAnalyzeMojo.java:310)
    at org.apache.maven.plugins.dependency.analyze.AbstractAnalyzeMojo.execute (AbstractAnalyzeMojo.java:246)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:954)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.maven.shared.dependency.analyzer.ProjectDependencyAnalyzerException: Cannot analyze dependencies
    at org.apache.maven.shared.dependency.analyzer.DefaultProjectDependencyAnalyzer.analyze (DefaultProjectDependencyAnalyzer.java:94)
    at org.apache.maven.plugins.dependency.analyze.AbstractAnalyzeMojo.checkDependencies (AbstractAnalyzeMojo.java:301)
    at org.apache.maven.plugins.dependency.analyze.AbstractAnalyzeMojo.execute (AbstractAnalyzeMojo.java:246)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:954)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open (Native Method)
    at java.util.zip.ZipFile.<init> (ZipFile.java:225)
    at java.util.zip.ZipFile.<init> (ZipFile.java:155)
    at java.util.jar.JarFile.<init> (JarFile.java:166)
    at java.util.jar.JarFile.<init> (JarFile.java:130)
    at org.apache.maven.shared.dependency.analyzer.DefaultProjectDependencyAnalyzer.buildArtifactClassMap (DefaultProjectDependencyAnal
yzer.java:147)
    at org.apache.maven.shared.dependency.analyzer.DefaultProjectDependencyAnalyzer.analyze (DefaultProjectDependencyAnalyzer.java:72)
    at org.apache.maven.plugins.dependency.analyze.AbstractAnalyzeMojo.checkDependencies (AbstractAnalyzeMojo.java:301)
    at org.apache.maven.plugins.dependency.analyze.AbstractAnalyzeMojo.execute (AbstractAnalyzeMojo.java:246)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:954)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :dianming-common

我很想吐槽,你倒是把错误的zip file告诉我老铁,告诉我错误模块我排查个der。
我查遍了网上资料都找不到解决方案,于是只能去debug maven的源码。具体的debugger方式学习了这个大佬的文章。如何debug(调试) maven 插件? - 知乎 (zhihu.com)

tip: 这个大佬的文章的某些地方不适用于我所遇到的问题,因此下文所写与大佬文章有较大不同

调试Maven

1. 查看maven版本

cmd中输入mvn -version即可查看版本(我配置了环境变量。如果没有配置,就去下载maven的目录下查看),我的是maven 3.5.4。源码版本需要下载3.5.4
Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试

2. 下载对应版本的maven源码

apache/maven: Apache Maven core (github.com)

这是maven的GitHub官方连接,点击tag,下载对应版本的代码

Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试
Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试

3. 打开maven源码,配置启动选项

用idea打开下载的源码,配置启动选项,具体如下:
Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试
Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试

  • 点击Edit Configurations
  • 点击➕
  • 选择Remote
  • 配置Host为localhost【根据自己需求调整】
  • 配置Port为8000【一般都是8000,后文会说明】

这样就算配置完maven源码的启动参数,接下来我们需要到自己的项目中,开启maven的debug模式即可。

启动maven debug模式

启动maven的debug模式很简单,将平时的mvn指令改为mvnDebug即可。现在回到我们自己的项目,在终端处输入如下指令mvnDebug dependency:analyze -e -X,此时maven开启debug模式,监听8000端口

Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试

tip: 需要注意,8000和Maven源码项目配置的port一致。

进入maven 源码,打断点调试

tip: 具体的调试方式需要具体问题具体分析,我遇到的问题代码时ZipFile的225行(由之前maven输入的错误信息中得到的),我能找到距离该处最近的代码是DefaultBuildPluginManager的137行,因此我是按照下述操作debug

进入maven源码项目,在DefaultBuildPluginManager的137行处打下断点,进行调试。
Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试

我自己的项目需要在此处打断点运行18次,然后再报错代码处:ZipFile的224行,打下断点。放行断点后代码中止到224行。当继续往下运行时发现代码抛出异常,因此定位到问题jar包:D:\repository\org\aspectj\aspectjweaver\1.9.6\aspectjweaver-1.9.6.jar

Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试

找jar包算账

定位到问题jar包后,我们在文件管理器中搜索D:\repository\org\aspectj\aspectjweaver\1.9.6\aspectjweaver-1.9.6.jar。发现确实无法打开,至此问题jar包定位成功!
Maven error in opening zip file?maven源码debug定位问题jar包,maven,jar,java,源码调试,maven调试文章来源地址https://www.toymoban.com/news/detail-810866.html

到了这里,关于Maven error in opening zip file?maven源码debug定位问题jar包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IDEA双击打不开,Error opening zip file or JAR manifest missing ,Error occurred during initialization问题分析

    有次我感觉我的IDEA有些许卡顿,于是我修改了我的IDEA内存配置(修改方式)在我修改完后,发现双击我的IDEA打不开了,这把我吓坏了,别人给出的方案是去C盘下找到 idea64.exe.vmoptions文件 ,将配置改到之前的数值,我在C盘里确实也找到了IDEA的文件夹,但是没有这个文件,情

    2024年02月07日
    浏览(42)
  • [ERROR] Error executing Maven.[ERROR] The specified user settings file does not exist:

    今天在导入JavaEE项目的时候运行时出现了以下错误: [ERROR] Error executing Maven. [ERROR] The specified user settings file does not exist: C:Usersmavenapache-maven-3.6.2-binapache-maven-3.6.2confsettings.xml  解决方法 两种,主要看自己使用的tomcat: 1、 File——Settings,选择正确的Maven安装路径。  2、 点

    2024年02月08日
    浏览(56)
  • IDEA打不开,报错Error opening zip file or JAR manifest missing : D:\BaiduNetdisk\锟斤拷锟斤拷ja-netfilter.jar

    1、原因:是在进行单元测试里@Test对于控制台输入不了值的配置时,当时4指的那里是乱码,重启idea后,双击打不开了。  2、方法:找到bin目录下的idea.bat以记事本打开。   3、在最后一行输入pause,保存。(这是用来查看启动不了的原因)  4、再双击idea.bat打开,查看报错信

    2024年02月16日
    浏览(50)
  • 【debug】ImportError:libcudart.so.11.0:cannot open share object file:No such file or directory

    报错:ImportError:libcudart.so.11.0:cannot open share object file:No such file or directory 找到存在libcudart.so.11.0的位置,比如在/usr/local/cuda-11.X/lib64/位置下找到了该文件,则在命令框中添加路径即可,注意,一次有效,关闭该命令框之后再打开失效,若要一直有效,可以把这句加在bashrc里。

    2024年02月13日
    浏览(45)
  • 如何定位、解决maven依赖冲突问题

    目录 1.依赖冲突的原因 2.复现一个依赖冲突场景 3.如何定位依赖冲突 3.1.maven show dependencies 3.2.maven helper 4.依赖路径最短优先原则 如果maven项目中,A依赖于B和C,B依赖于1.0版本的D,C依赖于2.0版本的D,这时候就会出现依赖冲突。   在A上加载使用D依赖的时候,maven会根据 依赖路

    2024年02月10日
    浏览(48)
  • 【Maven】如何发现,定位,解决依赖冲突

    运行的时候可能报出错误xx类找不到xx方法,xx类找不到,很有可能就是冲突导致的。 idea安装插件,maven helper 比如我有两个依赖,guava和findbug。 他们都用到了jsr305,但是我依赖的版本不同。可以进入pom文件点击下面的通过Dependency Anazlyer来查看冲突。 可以打印出依赖关系树

    2024年02月11日
    浏览(39)
  • IDEA指定Maven settings file文件未生效

    背景:在自己电脑上配置的时候,由于公司项目和我自己的项目的Maven仓库不一致,我就在项目中指定了各自的Maven配置文件。但是我发现公司的项目私有仓库地址IDEA总是识别不到! 俩个配置文件分别是: /Users/sml/Mine/研发/Tools/Maven/apache-maven-3.9.1/conf/settings.xml /Users/sml/Mine/公

    2024年02月09日
    浏览(43)
  • [ERROR] Error executing Maven.

    错误代码提示: 翻译: conf settings.xml :实体引用名称不能包含字符’(位置:START_TAG seen…D:apache-maven-3.6.2repository…@ D:apache-maven-3.6.2 confsettings.xml,第55行,第54列 根据信息提示,打开我们的maven下的本地仓库下的settings文件(路径:D:apache-maven-3.6.2repositoryapache-maven-3.6.2c

    2023年04月13日
    浏览(35)
  • error RC1015: cannot open include file ‘afxres.h‘.

    缺少afxres.h头文件,网上找了一下大多收费或404,在这里直接把内容粘贴过来,自己新建一下放到C:Program Files (x86)Microsoft Visual Studio2017ProfessionalVCToolsMSVC14.16.27023atlmfcinclude即可,具体路径根据个人配置进行响应调整,最终目的是放到atlmfcinclude中。 // This is a part of the

    2024年02月03日
    浏览(39)
  • 如何定位不需要的Jar依赖 loosejar工具和maven工具实践分析

    在很多的项目中,往往都存在一些冗余的JAR包依赖,可能是某次的测试加入但是之后没有删除,可能是引用传递的依赖,也可能是历史代码但在后面升级后已经有其他的替换方案了,可没有剔除原先的依赖等等情况。想要更好的提升构建速度以及减少依赖存在漏洞的可能性,

    2024年02月15日
    浏览(253)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包