猿问

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

如果我尝试执行目标 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


慕虎7371278
浏览 78回答 1
1回答

HUX布斯

根据堆栈跟踪,导致问题的实际库是 bcel。如果您将新版本作为插件依赖项添加到您的 Maven 配置中,它可能会起作用。<plugin>&nbsp; &nbsp; <groupId>org.apache.maven.plugins</groupId>&nbsp; &nbsp; <artifactId>maven-javadoc-plugin</artifactId>&nbsp; &nbsp; <!-- .... other stuff -->&nbsp; &nbsp; <dependencies>&nbsp; &nbsp; &nbsp; <dependency>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<groupId>org.apache.bcel</groupId>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<artifactId>bcel</artifactId>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<version>6.3.1</version>&nbsp; &nbsp; &nbsp; </dependency>&nbsp; &nbsp; </dependencies></plugin>如果这不起作用,我会采用这种解决方法。找到导致问题的类并将其排除。要查找导致问题的类:添加异常断点org.apache.bcel.classfile.ClassFormatException以调试模式启动maven生成等到到达断点查看org.apache.bcel.classfile.ClassParser.parse激活框架,我希望在变量或字段之一中看到类名。(也许您需要进一步查看堆栈)。排除类(也许是整个包)重复 2
随时随地看视频慕课网APP

相关分类

Java
我要回答