1

我想在Eclipse中定义和触发一些自定义的 Java 编译错误。基本上我希望某些方法中的某些系统调用会触发编译错误

这个讨论中,提出了一个基于注释的解决方案,但它不适合我的情况,因为我无法预测何时会发生编译错误。我想要的是,当开发人员进行系统调用时,例如会触发编译错误。

4

4 回答 4

1

不完全是您要查找的内容,但请考虑使用自定义Checkstyle定义。这是 checkstyle 文档中的一个示例,它将调用标记System.out.println为无效:

<module name="Regexp">
    <!-- . matches any character, so we need to escape it and use \. to match dots. -->
    <property name="format" value="System\.out\.println"/>
    <property name="illegalPattern" value="true"/>
</module>
于 2012-07-09T15:19:55.417 回答
0

例如,如果您想阻止开发人员使用 java.lang.System,一个不错的技巧是在您的项目中创建一个自定义类java.lang.System,这样每次调用 java.lang.System 的任何方法(真正的) 会出现编译问题。

如果您使用 maven,您还可以在单​​独的 maven 项目中创建该类,并提供不与实际应用程序打包的范围。

于 2013-10-13T11:31:13.147 回答
0

完成类似事情的唯一方法是为 Eclipse 编写一个在构建期间分析代码的插件。但是这样做的细节确实超出了 StackOverflow 问题的范围。

于 2012-07-09T15:13:51.017 回答
0

您需要创建您的Builder实现并将其注册到 Java 项目。

你可以从这里开始

于 2012-07-09T15:13:52.837 回答