gpt4 book ai didi

使用 findbugs 的 java 编译错误。 com.sun.tools.javac.code.Symbol$CompletionFailure : class file for javax. annotation.meta.When not found

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:14:30 24 4
gpt4 key购买 nike

我正在尝试使用 findbugs 1.3.2 的注释。

我在一个简单的测试中使用了 edu.umd.cs.findbugs.annotations.NonNull 注释,它工作正常。

但是,现在我有一个大项目,由子模块组成,使用maven,我通过在某个 java 文件中导入该注释得到以下编译错误:

com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.annotation.meta.When not found

可能是什么问题?我尝试在所有子模块中添加 findbugs 依赖项。也许它与jsr305冲突?我看到我们的依赖项之一使用 jsr305 1.3.9。

最佳答案

根据我的经验,当您使用 @NonNull 并且 jsr305.jar 不在类路径中时,总是会发生此错误。为了使用 findbugs 注释,您必须将 annotations.jar 和 jsr305.jar 添加到类路径中。
一些注解(我想到的是 @SuppressWarnings)可以在没有 jsr305.jar 的情况下使用,但是 @NonNull 肯定需要它。

(你在问题中提到了jsr305.jar,但你没有明确说你已经检查过。另外,人们在搜索错误信息时会登陆这里,他们将需要添加jsr305.jar .) 类路径上只能有一个版本的 jsr305.jar。

关于使用 findbugs 的 java 编译错误。 com.sun.tools.javac.code.Symbol$CompletionFailure : class file for javax. annotation.meta.When not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11104667/

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