首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用findbugs时出现java编译错误。找不到javax.annotation.meta.When的com.sun.tools.javac.code.Symbol$CompletionFailure:类文件

使用findbugs时出现java编译错误。找不到javax.annotation.meta.When的com.sun.tools.javac.code.Symbol$CompletionFailure:类文件
EN

Stack Overflow用户
提问于 2012-06-19 23:48:15
回答 2查看 7.2K关注 0票数 7

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

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

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

代码语言:javascript
复制
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.annotation.meta.When not found

会有什么问题呢?我尝试在所有子模块中添加findbugs依赖项。也许它与jsr305有冲突?我发现我们的一个依赖项使用的是jsr305 1.3.9。

EN

回答 2

Stack Overflow用户

发布于 2012-10-19 20:54:37

根据我的经验,当您使用@NunNull并且jsr305.jar不在类路径上时,总是会出现这个错误。为了使用findbugs注释,必须将annotations.jar和jsr305.jar都添加到类路径中。

一些注释(我正在考虑@SuppressWarnings)可以在没有jsr305.jar的情况下使用,但是@NonNull肯定需要它。

(您在问题中提到了jsr305.jar,但是您没有明确表示您已经检查过了。此外,人们在搜索错误消息时会在这里登录,并且他们将需要添加jsr305.jar。)类路径上应该只有一个版本的jsr305.jar。

票数 8
EN

Stack Overflow用户

发布于 2019-05-15 02:23:22

您还可以使用此依赖项

代码语言:javascript
复制
    <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>annotations</artifactId>
        <version>3.0.1</version>
    </dependency>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11104667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档