Eclipse Java编译器警告作为ant任务

haw*_*eye 7 java eclipse ant coding-style compilationunit

我希望eclipse Java Compiler Warnings可用作ant任务(即没有eclipse) - 理想情况下是作为ant插件 - 但是如果出现日食警告,我希望巡航控制ant任务失败.对于以下警告

  • 非静态访问静态成员

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

  • Serializable类没有serialVersionUID

  • 作业无效

  • 终于没有正常完成

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

  • 隐藏的拦截块

  • vararg参数的不精确类型匹配

  • 空指针访问

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

  • 方法不会覆盖包可见方法

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

  • 永远不会读取局部变量

  • 未使用的本地或私人会员

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

  • 使用原始类型

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

  • 注释用作超级界面

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

问题是:(1)这样做了吗?(2)如果没有 - 那么给出一个

org.eclipse.jdt.core.dom.CompilationUnit
Run Code Online (Sandbox Code Playgroud)

对象 - 你如何(在代码示例中)从这个CompilationUnit中获取警告?

(我知道关于PMD,checkstyle等 - 这些都没有完全符合eclipse对编码风格的偏好.我想要一个与eclipse编码风格完全匹配的ant任务)

Dan*_*ell 6

什么版本的日食?

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

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

请参阅'使用ant javac适配器'

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

另一个需要研究的途径是启动PDE构建,但我认为这对您的要求来说太过分了,而且这样的构建脚本很难随着时间的推移而难以维护.