geo*_*bel 6 java serialization sonarqube
在查看我的代码后,SonarQube 5.1标记了许多关键问题.但是,类本身和字段中引用的类也是可序列化的.引用的类通过类继承可序列化的接口.
这是我的例子
public class A implements Serializable {
private B b; // -> Sonarcube markes this field as not serialzable
}
Run Code Online (Sandbox Code Playgroud)
B类定义如下
public class B extends C {
....
}
Run Code Online (Sandbox Code Playgroud)
C类定义如下
public abstract class C extends D {
....
}
Run Code Online (Sandbox Code Playgroud)
并且定义了D类
public abstract class D implements Serializable {
....
}
Run Code Online (Sandbox Code Playgroud)
在同一个项目上运行FindBugs不会发现这些问题.我不确定它是否是sonarcube中的错误,或者我的代码是否有其他问题(C,D或其他类中的其他字段)
有人有线索吗?
这可能是因为二进制文件未正确提供。我的 SonarQube 配置也有类似的问题,然后我发现实现的类Serializable位于不同的模块和/或外部库中。
设置正确的值sonar.java.binaries并sonar.java.libraries允许 SonarQube 定位二进制文件并正确确定类是否可序列化。
| 归档时间: |
|
| 查看次数: |
17264 次 |
| 最近记录: |