如何在特定于文件的基础上禁用Eclipse中的编译器警告?

在我的Eclipse项目中有一些我需要用于SQLJ的生成的.java文件,我无法移动到单独的项目(由于管理开销)。 这些文件也会定期重新生成,因此不幸的是编辑它们。

不幸的是,这些文件生成了几百个java编译器警告,这些警告淹没了我实际可以编辑的文件的有用警告。

Eclipse中是否有任何方法可以忽略所有逐个文件的警告? 或者我可以阻止特定的子目录吗?

可以过滤eclipse中的“问题”视图; 我总是将它设置为“仅选定元素及其子元素”。 当然,这更像是一种解决方法,但它减少了将文件放在同一个项目中的影响。 (请注意,即使您必须将它们放在同一个项目中,也可以将它们保存在单独的源文件夹中)。

编辑:要配置filter,请在问题视图右上角的工具提示“查看菜单”中找到带有向下箭头的图标。 单击它,然后单击“配置内容”。

确保文件位于gen文件夹下, gen文件夹是所有生成的.java文件的典型主页。 然后在项目属性中的Java Build Path下 ,将Ignore的可选编译问题设置为Yes

如果您的项目结构要求您的文件位于gen之外的文件夹中,请将该文件夹添加到Java Build Path,以便您可以为其忽略可选的编译问题。

@SuppressWarning 注释 ?

Per,Stephen的评论,您可以在这里找到“每个项目编译器设置选项”

项目 – >属性 – > Java编译器 – >错误/警告

启用项目特定设置

替代文字

一种方法是在源代码中添加@SuppressWarning(...)注释。

另一种方法是将麻烦的代码移动到单独的Eclipse项目并使用每个项目的编译器设置。

编辑

当然,您可以使用适当的项目间依赖关系将代码划分为多个项目?

如果没有,我会说你没有现实的选择。 (但是如果你想要一些不切实际的,你可以对生成的代码进行后处理以添加注释,破解Eclipse Java编译器来实现每个文件的抑制,破解Eclipse“Problems”视图来实现每个文件/目录的过滤错误等等)

如果要隐藏类或方法上的警告,请参阅@SuppressWarnings批注或Java文档上的Eclipse文档。

例:

 @SuppressWarnings("unused") public void foo() { String s; }