首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpotBugs SE_NO_SERIALVERSIONID非触发

SpotBugs SE_NO_SERIALVERSIONID非触发
EN

Stack Overflow用户
提问于 2022-11-04 23:36:36
回答 1查看 21关注 0票数 -1

我正试图将SpotBugs添加到我的项目中,专门用于SE_NO_SERIALVERSIONID,在使用effort=max运行之后,我没有看到一个类被检测到,但是我们知道了10个测试示例,以查看它们是否会被检测到……所有类都有这样的模式。

代码语言:javascript
复制
public final class SessionInfo implements Serializable
{
...
}

所以我们清楚地知道,支票本来是应该发生的,但没有。

是否有一种方法可以查看为什么或显式启用此检查?

编辑:

我正在试着调试为什么这不会触发,并看到它应该看看https://github.com/spotbugs/spotbugs/blob/master/spotbugs/src/main/java/edu/umd/cs/findbugs/detect/SerializableIdiom.java#L410-L413的斑点虫源代码

当我打开调试日志记录时,我看到

代码语言:javascript
复制
[spotbugs] Directly implements Serializable: org/apache/cassandra/streaming/SessionInfo
...
 [spotbugs] org.apache.cassandra.streaming.SessionInfo
 [spotbugs]   hasPublicVoidConstructor: false
 [spotbugs]   superClassHasVoidConstructor: true
 [spotbugs]   isExternalizable: false
 [spotbugs]   isSerializable: true
 [spotbugs]   isAbstract: false
 [spotbugs]   superClassImplementsSerializable: false
 [spotbugs]   isGUIClass: false
 [spotbugs]   isEjbImplClass: false
 [spotbugs]   isJSPClass: false

并不是每个变量都被记录下来,但是知道被检查的代码应该触发.

EN

回答 1

Stack Overflow用户

发布于 2022-11-07 21:11:20

在ant中,我将reportLevel=设置为“低”,似乎这是被过滤掉的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74323979

复制
相关文章

相似问题

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