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

发布于 2024-07-24 04:30:56 字数 990 浏览 6 评论 0原文

我希望 eclipse Java 编译器警告可作为 ant 任务(即没有 eclipse) - 理想情况下作为 ant 插件 - 但我希望巡航控制 ant 任务在出现 eclipse 警告时失败。 对于以下警告

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

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

  • 不带serialVersionUID的可序列化类< /p>

  • 赋值无效

  • finally 未正常完成

  • 在字符串连接中使用 char 数组< /p>

  • 隐藏的 catch 块

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

  • 空指针访问

    p>
  • 类型参数隐藏另一个类型

  • 方法不重写包可见方法

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

  • 永远不会读取局部变量

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

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

  • 原始类型的使用

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

  • 注释用作超级接口

我认为这意味着必须使用 Eclipse 抽象语法树 - 以及 Eclipse 编译必须创建一个单位。

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

org.eclipse.jdt.core.dom.CompilationUnit

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

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

I want the eclipse Java Compiler Warnings available as an ant task (ie without eclipse) - ideally as ant plugins - but I want the cruise control ant task to fail if an eclipse warning shows up. For the following warnings

  • Non-static access to static member

  • Method with a constructor name

  • Serializable class without serialVersionUID

  • Assignment has no effect

  • finally does not complete normally

  • Using a char array in string concatenation

  • Hidden catch block

  • Inexact type match for vararg arguments

  • Null pointer access

  • Type parameter hides another type

  • Method does not override package visible method

  • Interface method conflicts with protected 'Object' method

  • Local variable is never read

  • unused local or private member

  • Unchecked generic type operation

  • Usage of a raw type

  • Generic type parameter declared with a final type bound

  • Annotation is used as a super interface

I assume this means that the eclipse abstract syntax tree would have to be used - and an eclipse compilation unit would have to be created.

The question is:
(1) Has this been done?
(2) If it hasn't - then given a

org.eclipse.jdt.core.dom.CompilationUnit

object - how do you (ie in code examples) get the warnings out of this CompilationUnit?

(I KNOW about PMD, checkstyle etc - none of these EXACTLY match the eclipse preferences for coding style. I want an ant task that exactly matches the eclipse coding style)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小耗子 2024-07-31 04:30:56

什么版本的日食?

可以通过 ant 启动 JDT 编译器。 请参阅:

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

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

警告和错误附加到Eclipse 工作区。 它们被称为“标记”。 将警告作为标记获取可能比直接通过编译过程更容易。

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

What version of eclipse?

It is possible to launch the JDT compiler via ant. See:

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

See 'Using the ant javac adapter'

Warnings and errors are attached to resources (such as files or CompilationUnits) in the Eclipse workspace. They are known as 'markers'. It may be easier to get the warnings as markers rather than via the compilation process directly.

Another avenue to look into is launching a PDE build but I think this is overkill for your requirements and such build scripts can get very difficult to maintain with time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文