7

我希望将 Eclipse Java 编译器警告作为 ant 任务(即没有 Eclipse)提供 - 理想情况下作为 ant 插件 - 但如果出现 Eclipse 警告,我希望巡航控制 ant 任务失败。对于以下警告

  • 对静态成员的非静态访问

  • 具有构造函数名称的方法

  • 没有 serialVersionUID 的可序列化类

  • 赋值无效

  • finally 没有正常完成

  • 在字符串连接中使用 char 数组

  • 隐藏的捕获块

  • 可变参数的不精确类型匹配

  • 空指针访问

  • 类型参数隐藏另一种类型

  • 方法不覆盖包可见方法

  • 接口方法与受保护的“对象”方法冲突

  • 从不读取局部变量

  • 未使用的本地或私有成员

  • 未经检查的泛型类型操作

  • 原始类型的使用

  • 使用最终类型绑定声明的泛型类型参数

  • 注解用作超级接口

我认为这意味着必须使用 eclipse 抽象语法树 - 并且必须创建一个 eclipse 编译单元。

问题是:(1)这已经完成了吗?(2) 如果没有 - 那么给出一个

org.eclipse.jdt.core.dom.CompilationUnit

object - 你如何(即在代码示例中)从这个 CompilationUnit 中获得警告?

(我知道 PMD、checkstyle 等 - 这些都不完全符合 eclipse 的编码风格偏好。我想要一个与 eclipse 编码风格完全匹配的 ant 任务)

4

1 回答 1

6

什么版本的日食?

可以通过 ant 启动 JDT 编译器。看:

http://help.eclipse.org/ganymede/topic/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm

请参阅“使用 ant javac 适配器”

警告和错误附加到 Eclipse 工作区中的资源(例如文件或 CompilationUnits)。它们被称为“标记”。将警告作为标记而不是直接通过编译过程可能更容易。

另一个值得研究的途径是启动 PDE 构建,但我认为这对您的要求来说太过分了,并且随着时间的推移,这样的构建脚本会变得非常难以维护。

于 2009-06-10T12:48:43.593 回答