为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复 javadoc 中的“MavenInitationException”:fix

如何修复 javadoc 中的“MavenInitationException”:fix

慕虎7371278 2023-07-19 10:12:17
如果我尝试执行目标 javadoc:fix,我会收到此异常。Execution default-cli of goal org.codehaus.mojo:clirr-maven-plugin:2.2.2:check failed: Invalid byte tag in constant pool: 15如果我从 src/main/java 位置删除所有源代码,它就可以正常工作。如果我将一个新类添加到空目录中,它就可以正常工作。但是当我恢复删除时,错误又回来了。所以我认为我的源代码是“损坏的”,我应该在哪里搜索才能找到“损坏的”文件?如果我清除本地存储库,我只会收到警告“[警告]没有部署以前的工件,Clirr 被忽略。”但是,一旦我将版本更改为更高,并且我的仓库中有两个版本的工件,我仍然会收到错误。我想我已经在javadoc-maven-plugin https://github.com/apache/maven-javadoc-plugin/blob/master/src/main/java/org/apache/maven/plugins/javadoc中找到了重要的部分/AbstractFixJavadocMojo.java第 193-205 行 - 为什么它是硬编码的?行:450 Try/catch 执行 Clirr
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

根据堆栈跟踪,导致问题的实际库是 bcel。如果您将新版本作为插件依赖项添加到您的 Maven 配置中,它可能会起作用。


<plugin>

    <groupId>org.apache.maven.plugins</groupId>

    <artifactId>maven-javadoc-plugin</artifactId>

    <!-- .... other stuff -->

    <dependencies>

      <dependency>

         <groupId>org.apache.bcel</groupId>

         <artifactId>bcel</artifactId>

         <version>6.3.1</version>

      </dependency>

    </dependencies>

</plugin>

如果这不起作用,我会采用这种解决方法。找到导致问题的类并将其排除。

要查找导致问题的类:

  1. 添加异常断点org.apache.bcel.classfile.ClassFormatException

  2. 以调试模式启动maven生成

  3. 等到到达断点

  4. 查看org.apache.bcel.classfile.ClassParser.parse激活框架,我希望在变量或字段之一中看到类名。(也许您需要进一步查看堆栈)。

  5. 排除类(也许是整个包)

  6. 重复 2


查看完整回答
反对 回复 2023-07-19
  • 1 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信