显示同一类方法的已弃用警告

2024-01-05

使用 eclipse,我希望尽快看到警告any我使用的方法标记为@Deprecated。如果是这样,方法调用将被正确划掉,但如果该方法源自同一个类,则 Eclipse 不会发出警告。请参阅下面的屏幕截图。

为了更好地重现,我还将提供文本形式的代码:

/* MainClass.java */
public class MainClass {
    public static void main(String[] args) {
        MainClass.foo();
        MemberClass.foo();
        OtherClass.foo();
    }
    @Deprecated
    public static void foo() {
        return;
    }
    private static class MemberClass {
        @Deprecated
        protected static void foo() {
            return;
        }
    }
}

/* OtherClass.java */
public class OtherClass {
    @Deprecated
    public static void foo() {
        return;
    }
}

而只有OtherClass.foo()生成警告。为什么?我怎样才能解决这个问题?

  • Enable project specific settings已停用
  • Window->Preferences->Java->Compiler->Errors/Warnings->Deprecated and restricted API如果完全设置为Warning,从上图可以看出。

Note: Eclipse 没有显示已弃用警告? https://stackoverflow.com/questions/22855836/eclipse-not-showing-deprecated-warning is not related


的确切定义@Deprecated注释不在 javadoc 中,但实际上在Java语言规范 https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.6.4.6,第 9.6.4.6 节。

本质上,它表示使用已弃用的元素将生成警告unless

使用和声明都在同一个最外层类中。

Since MainClass.foo() and MemberClass.foo()都在MainClass,并且您对他们的呼叫也在MainClass,不会生成任何警告。

致电给OtherClass.foo()不在同一个最外层类中,因此会生成警告。

我相信这条规则的原因是,可以假定最外层或顶级类中的代码是一起维护和发展的。弃用某个元素通常是向“外部”(可能由其他人维护)编码的信号,表明该元素将发生某些情况。通常在一个类中应用不同的规则。内部使用已弃用的元素(例如私有元素)可能完全没问题。

编译器或 IDE 发出的问题可能是合法的额外的超出 JLS 要求的警告,例如在同一最外层类中使用已弃用的元素。不过,我不知道有任何系统可以做到这一点。

但是您使用的是 Eclipse,并且我确信它以及其他 IDE 可以轻松找到类中某些元素的所有用法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示同一类方法的已弃用警告 的相关文章

  • 同一服务器上的许多应用程序具有相同的 JMX Mbean 类

    我有超过 5 个 Spring Web 应用程序 它们都在使用另一个通用库 这个公共库有它自己的 MBean 由于强制的唯一 objectName 约束 我的应用程序无法部署在同一服务器上 我使用 MBean 的方式是这样的 Managed
  • 在不支持 CAS 操作的处理器上进行 CompareAndSet

    今天 我在一次采访中被问到下一个问题 如果您在具有不支持 CAS 操作的处理器的机器上调用 AtomicLong 的compareAndSet 方法 会发生什么情况 您能否帮我解决这个问题 并在可能的情况下提供一些全面描述的链接 From
  • 以相反的顺序打印任何集合中的项目?

    我在 使用 Java 进行数据结构和问题解决 一书中遇到以下问题 编写一个例程 使用 Collections API 以相反的顺序打印任何 Collection 中的项目 不要使用 ListIterator 我不会把它放在这里 因为我想让有
  • 无法使用 datastax java 驱动程序通过 UDT 密钥从 cassandra 检索

    我正在尝试使用用户定义的类型作为分区键将对象存储在 cassandra 中 我正在使用 datastax java 驱动程序进行对象映射 虽然我能够插入到数据库中 但无法检索该对象 如果我更改分区键以使用非 udt 例如文本 我就能够保存和
  • getCurrentSession 在网络中休眠

    我正在使用 hibernate 和 jsp servlet 编写一个基于 Web 的应用程序 我读过有关sessionFactory getCurrentSession and sessionFactory openSession方法 我知
  • 为什么 jar 执行的通配符在 docker CMD 中不起作用?

    我有一个Dockerfile与以下CMD启动我的 Spring Boot 应用程序 FROM java 8 jre CMD java jar app file jar 当我尝试从创建的图像启动容器时 我得到 Error Unable to
  • Mockito 和 Hamcrest:如何验证 Collection 参数的调用?

    我遇到了 Mockito 和 Hamcrest 的泛型问题 请假设以下界面 public interface Service void perform Collection
  • 如何使用双重调度来分析图形基元的交集?

    我正在分析图形基元 矩形 直线 圆形等 的交互并计算重叠 相对方向 合并等 这被引用为双重调度的一个主要示例 例如维基百科 http en wikipedia org wiki Double dispatch 自适应碰撞算法通常要求 不同的
  • 模拟器无法加载

    我正在使用 hello android 教程并通过 eclipse 创建 avd 启动模拟器时不使用图像 它只是显示一个黑色的后屏 中间有 ANDROID 字样 并且在 ANDROID 字样的末尾有一个闪烁的光标 我已按照 T 的步骤安装
  • 在java程序中使用c++ Dll

    我正在尝试使用System LoadLibrary 使用我用 C 编写的一个简单的 dll UseDllInJava java import com sun jna Library import com sun jna Native imp
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • Joshua Bloch 的构建器设计模式有何改进?

    早在 2007 年 我就读过一篇关于 Joshua Blochs 所采用的 构建器模式 的文章 以及如何修改它以改善构造函数和 setter 的过度使用 特别是当对象具有大量属性 其中大部分属性是可选的 时 本文对此设计模式进行了简要总结
  • 我所有的 java 应用程序现在都会抛出 java.awt.headlessException

    所以几天前我有几个工作Java应用程序使用Swing图书馆 JFrame尤其 他们都工作得很好 现在他们都抛出了这个异常 java awt headlessexception 我不知道是什么改变了也许我的Java版本不小心更新了 谢谢你尽你
  • 带 getClassLoader 和不带 getClassLoader 的 getResourceAsStream 有什么区别?

    我想知道以下两者之间的区别 MyClass class getClassLoader getResourceAsStream path to my properties and MyClass class getResourceAsStre
  • 检测到 JVM 正在关闭

    我有一个使用 addShutdownHook 处理 Ctrl C 的 Swing 应用程序 它工作正常 直到我的关闭任务之一调用一个在正常情况下更改 JLabel 文本的函数 此时它挂起 我认为问题是 Swing EDT 已终止或正在等待某
  • 什么是 Java2D 处理程序线程?

    我创建了一个使用 Hibernate 的示例 java 应用程序 当我进行线程转储时 我观察到一个名为 Java2D Disposer 的奇怪线程 有人能告诉我该线程的功能吗 AWT 系统中的某些实体需要最终确定以释放资源 最突出的例子是j
  • 如何让 Firebase 与 Java 后端配合使用

    首先 如果这个问题过于抽象或不适合本网站 我想表示歉意 我真的不知道还能去哪里问 目前我已经在 iOS 和 Android 上开发了应用程序 他们将所有状态保存在 Firebase 中 因此所有内容都会立即保存到 Firebase 实时数据
  • Spring 作为 JNDI 提供者?

    我想使用 Spring 作为 JNDI 提供程序 这意味着我想在 Spring 上下文中配置一个 bean 可以通过 JNDI 访问该 bean 这看起来像这样
  • 在会话即将到期之前调用方法

    我的网络应用程序有登录的用户 有一个超时 在会话过期之前 我想执行一个方法来清理一些锁 我已经实现了sessionListener但一旦我到达public void sessionDestroyed HttpSessionEvent eve
  • Android 的代码覆盖率[重复]

    这个问题在这里已经有答案了 可能的重复 Android测试代码覆盖率 Eclipse https stackoverflow com questions 3282702 android test code coverage eclipse

随机推荐

  • 在 Web 开发过程中,我将花费多少时间用于用户输入验证?

    我是网络开发新手 到目前为止 我花了很多时间 50 左右 来尝试阻止坏人将 sql 注入之类的东西放入我的输入表单中并在服务器端验证它 这是正常的吗 Jeremy 一些 PHP 细节 当涉及数据库查询时 请始终尝试使用准备好的参数化查询 这
  • 如何进入 CoreDNS pod kubernetes?

    我有一个正在运行的 k8s 集群 其中包含两个 CoreDNS 副本 但是当我尝试输入 POD 的 bash 提示符时 它向我抛出以下错误 kubectl exec it coredns 5644d7b6d9 285bj n kube sy
  • joomla(2.5)系统插件安装时加载语言文件

    在安装系统插件 在 Joomla 2 5 中 期间 我很难显示本地化字符串 xml 文件中本地化字符串的 正常 方式似乎不起作用 请参阅另一个问题 基于语言的安装描述 https stackoverflow com questions 11
  • 如何跨应用程序限制内容提供商数据

    我们如何确保某些应用程序无法访问存储在内容提供商中的我的数据 而某些其他应用程序可以访问该数据 基本上 我需要允许我感兴趣的某些应用程序访问存储在内容提供程序中的数据 但我不希望所有应用程序都能够访问该数据 我怎样才能实现这个目标 Than
  • 获取代码点的所有 Unicode 别名

    The charnames https metacpan org pod charnames杂注提供charnames viacode返回给定代码点的 最佳 名称 例如 perl Mcharnames full E say charname
  • 使用插件系统的 Netbeans 平台应用程序

    我正在编写一个 Netbeans 平台应用程序 我想在该应用程序处于开发状态时将其提供给客户 并且每当特定模块有更新时 我想以客户可以使用 netbeans 插件更新程序来更新模块的方式处理它 因此 我将获得一台服务器来托管不同的模块 签署
  • (iphone)将子视图的框架设置在超级视图的边界之外?

    我注意到我可以将子视图放置在超级视图的边界之外 部分或全部 我想知道这是否可以接受 因为这在通常的 iPhone 视图编程中似乎是不正常的 谢谢 这是可以接受的 有时甚至是常见的做法 例如 滚动视图或其他 复合 视图的自定义实现通常会将对象
  • 在Python中对多维数组进行排序的适当数据结构?

    我有各种字符串 单词 的三个数值 权重 计数 贡献 我想将它们组织成一个多维数组 然后进行排序 为此 我在字典中创建了列表 其中数值位于列表中 字符串是键 print dictionary word weight count contrib
  • 编写自己的异步方法

    我想知道如何以 正确 的方式编写自己的异步方法 我看过很多解释异步 等待模式的帖子 如下所示 http msdn microsoft com en us library hh191443 aspx http msdn microsoft c
  • 什么是域错误

    在 C 中 有一个 域错误 的基类 std domain error 我不明白在什么情况下我应该在代码中抛出域错误 所有其他异常基类都非常不言自明 我很确定 std domain error 本身与互联网域名无关 因此请解释域错误是什么类别
  • 如何用intellij中的空格序列替换文件中的所有制表符?

    给定项目中的一个文件 我希望能够用空格替换文件中的所有制表符 intellij 有什么办法可以做到这一点吗 转到编辑 转换缩进 然后分别选择 到空格 或 到制表符 它在文档中 改变缩进 http www jetbrains com idea
  • Python 是否内置了针对特殊字符和/或标点符号的字符串验证?

    Python 有str isalnum str isdigit str isupper str islower str isalpha 但是它是否有任何内置的字符串验证检查特殊字符或标点符号 即 等 标准string模块提供string p
  • 如何以编程方式获取Linux进程的堆栈起始地址和结束地址?

    对于单线程程序 我想检查给定的虚拟地址是否在进程的堆栈中 我想在用 C 编写的进程中执行此操作 我正在考虑读书 proc self maps找到标记为 stack 的行 以获取进程堆栈的开始和结束地址 思考这个解决方案让我产生了以下问题 p
  • java系统范围的键盘和鼠标状态

    有没有办法在系统范围内侦听鼠标和键盘事件 而不将它们从系统队列中取出 例如 有没有办法设置一个恶魔 比如说 它会监听并报告每个键盘和鼠标事件 使用纯Java 是不可能的 但是您可以使用 JNI Java 本机接口 它适用于用 C 编写并本机
  • UPDATE 语句包含在 IF EXISTS 块中

    我正在尝试编写一个更新列的 DML 脚本 但我想确保该列首先存在 因此我将其包装在 IF EXISTS 块中 IF EXISTS SELECT FROM INFORMATION SCHEMA COLUMNS WHERE TABLE NAME
  • 如果消息被编辑,防咒骂系统将不起作用

    基本上 如果您说了一些不是脏话的内容 但随后将消息编辑为脏话 机器人将不会检测到它 我该如何解决 这是我的代码 client event async def on message message if message author bot
  • 通过选择散点图上的点来更新虚线表

    我正在制作仪表板 这是我的代码 IMPORT SECTION import dash import dash table import dash core components as dcc import dash html compone
  • 非静态类与静态类相比有哪些优点?

    非静态类与静态类相比有哪些优点 静态类不需要实例化 所以我们可以直接使用ClassName MemberName 那么非静态类有什么用呢 静态类与非静态类基本相同 但有一个区别 静态类不能被实例化 换句话说 不能使用new关键字来创建类类型
  • Sublime Text 3 上的 Python 3.4

    我按照以下步骤在 Sublime Text 3 上运行 Python 3 选择菜单 工具 gt 构建 gt 新建构建系统 我输入了以下内容 cmd python3 file selector source python file regex
  • 显示同一类方法的已弃用警告

    使用 eclipse 我希望尽快看到警告any我使用的方法标记为 Deprecated 如果是这样 方法调用将被正确划掉 但如果该方法源自同一个类 则 Eclipse 不会发出警告 请参阅下面的屏幕截图 为了更好地重现 我还将提供文本形式的