1

我正在进入一个需要一些自动审查工具的项目。上周我们System.exit()在代码中发现了一些导致应用服务器宕机的代码。

看来 FindBugs 没有捕捉到System.exit(). 是否还有其他System.exit()可以从 Eclipse 运行的工具?

4

2 回答 2

6

设置一个安全管理器来阻止任何未列入白名单的东西调用System.exit()怎么样?我想您的应用程序服务器有一个安全管理器;查看安全策略。如果您正在推出自己的产品,请查看checkExit(...)

于 2012-01-24T16:05:08.120 回答
2

除了 findbugs,您是否考虑过使用 pmd?PMD 将 java 代码“编译”为 xml 并针对它运行 xpath 查询。

例如:

//变量声明器
[父::字段声明]
[../类型/参考类型
  /ClassOrInterfaceType[@Image='SimpleDateFormat']
  和
  ..[@Static = 'true'] ]

是识别静态定义的 SimpleDateFormat 对象的规则(可以以线程不安全的方式使用的东西)。

于 2012-01-24T16:49:10.867 回答