gpt4 book ai didi

javac -Xlint :overrides not working

转载 作者:搜寻专家 更新时间:2023-11-01 02:33:17 25 4
gpt4 key购买 nike

当我有一个覆盖父类(super class)方法但未指定 @Override 注释的类时,我试图让我的 java 构建失败。

构建是通过 ant 完成的,我已将以下元素添加到我的 <javac> 中任务:

<compilerarg value="-Werror"/>
<compilerarg value="-Xlint:unchecked,overrides"/>

unchecked正在执行选项,但 overrides选项被忽略。我还尝试将两者分开 Xlint选项分为两个独立的 <compilerarg>元素,无济于事。我是不是误解了这个选项的作用?

请注意:这是 MacOSX (10.6) 上的 JDK6。我会遇到特定于 OSX 的错误吗?

最佳答案

我相信您误解了 Xlint:overrides 行为。

据我所知,启用此检查将导致编译器在遇到使用 @Override 注释但实际上并未覆盖父类(super class)方法的方法时发出警告(或可能是错误)。但是,它不会检查所有重写的方法是否都正确注释。

编辑:刚刚测试过。当您在不覆盖父类(super class)方法的方法上指定 @Override 时,无论是否使用 Xlint 选项,编译器都会发出错误。

关于 Oracle's website 的文档甚至没有提到 Xlint:overrides 选项,所以我猜它没有实现。

关于javac -Xlint :overrides not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4330275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com