2011-04-08 40 views
0

我必须遵守阻止使用某些JDK类和方法的编码准则。 我想要一个Ant或Eclipse插件,可以运行它来检查我的代码是否符合规范。 我会提供黑名单(或者白名单)。防止引用禁止类的Java构建过程

回答

0

PMD可以做到这一点。我不确定它是不是现成的,但实施这样的规则并不难。 import-rules可能是一个开始。 PMD插件存在Eclipse,Ant和其他IDE以及构建工具。

2

尝试CheckStyle。它有许多选项可供您对开发人员执行。

+0

+1。他们的“IllegalImport”模块似乎符合法案,至少在每个班级都是如此。 – Thilo 2011-04-08 07:18:15

1

多一点涉及使用AspectJ,但有很多'规则',你可以编程。有关如何使用AspectJ实现非常自定义的编码指导规则实施的示例,请参阅this blog post of mine

+0

我同意,AspectJ绝对是要走的路(+1) – 2011-04-08 07:20:37

+0

我可以使用这种方法来禁止引用说java.util.Hashtable(一个类,其源我不能注释)? – Thilo 2011-04-08 07:26:46

+0

当然,使用[call](http://www.eclipse.org/aspectj/doc/released/progguide/semantics-pointcuts.html)切入点。 – 2011-04-14 09:36:30

0

除了上面的答案之外,还有另外一种方法可以实现这一点。定义一个自定义SecurityManager。有关更多详细信息,请参阅checkPackageAccess()

+0

这将在运行时,对不对?我需要编译时检查。 – Thilo 2011-04-08 07:39:32

+0

你说得对,需要设置SecurityManager来检查权限。直到java允许类在运行时被编译(我读到了这个被合并到JDK 7中,不知道在哪里),这将是一个致命弱点。但是,对您无法看到的代码(第三方代码)执行策略的能力是一件大事。 – questzen 2011-04-08 08:06:47