gpt4 book ai didi

JavaDoc - 未声明的类型变量

转载 作者:行者123 更新时间:2023-12-02 05:01:49 25 4
gpt4 key购买 nike

我想每个使用 Maven 和 Java8 的人都知道这个 bug,即发布版本由于 JavaDoc 中的拼写错误而突然失败。作为一家公司,我们决定让一些可怜的傻瓜(又名我)来解决所有这些问题。现在我遇到了以下“错误”:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.1:javadoc (default-cli) on project org.acme.project.demo: An error has occurred in JavaDocs report generation:
[ERROR] Exit code: 1 - C:\jenkins\workspace\Project 2.0\org.acme.project.demo\src\main\java\org\acme\project\demo\SomeClass.java:36: error: cannot access OtherClass
[ERROR] import org.acme.project.OtherClass;
[ERROR] ^
[ERROR] bad class file: C:\jenkins\workspace\Project 2.0\org.acme.project\target\org.acme.project-2.0.0-SNAPSHOT-v20150128-1503.jar(org/acme/project/OtherClass.class)
[ERROR] undeclared type variable: N
[ERROR] Please remove or make sure it appears in the correct subdirectory of the classpath.

我尝试稍微清理一下,但总结一下:项目 B 在尝试解析对项目 A 的方法调用时抛出异常(是的,在生成 JavaDoc 时!)。有问题的方法如下所示:

public static <N extends Bean> void hookContinousImageFunction(final OtherClass<N> dialog,
final ImageGroup imageGroup, N model, final BiFunction<Image, N, ? extends Image> imageFunction) {
final Image original = imageGroup.getImage();
dialog.setOnCancelClick((notUsed) -> imageGroup.setImage(original));
model.addPropertyChangeListener(new ContinousImageFunctionListener<>(dialog, imageGroup, imageFunction));
dialog.setInitialModel(model);
}

它甚至没有 JavaDoc(当项目 A 的 JavaDoc 生成已经完成,并且 Maven 正在尝试为项目 B 生成 JavaDoc 时,这一切都不重要)。

到目前为止,我们在多个项目中都存在此错误,大约五分之一。项目 A(具有如上所述的类型化方法/类的项目)通常位于完全不同的构建 react 器中,有时甚至完全出局我们的控制。

如何修复 bug 中的这个 bug?

(作为旁注,该错误发生在Jenkin使用Java 1.8.0_31和jdk1.8.0_40运行或本地使用1.8.0_45、1.8.0_60运行时,但不是本地使用1.8.0_20运行时,而是生成JavaDoc不太可靠,所以我不能肯定它与 Java 版本有关。)

最佳答案

我使用中央构建时收到了同样类型的错误消息,而在本地构建中没有问题。 (不幸的是,我没有关于中央构建环境的详细信息。)

在 JavaDoc 注释中为相关静态方法添加“@param”解释解决了该问题。根据给定的示例,我做了这样的事情:

/**
* @param <N> This is the class that ...
*/
public static <N extends Bean> void hookContinuousImageFunction(...)

关于JavaDoc - 未声明的类型变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28208139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com