当前位置: 首页 > 面试题库 >

禁止Javac警告“ ...是内部专有API,在将来的版本中可能会删除”

令狐宏伟
2023-03-14
问题内容

当我使用JDK 1.7.0在OS X上编译Spring JDBC源代码时,收到以下警告:

warning: CachedRowSetImpl is internal proprietary API and may be removed in a future release

如何在编译期间禁止显示警告消息?

我已经知道并使用Java的@SuppressWarning注释。我正在寻找特定的用法来抑制我所描述的警告。

我的问题特别是在以下代码行中:

@SuppressWarnings("valuegoeshere")

应该用“ valuegoeshere”替换什么?

编辑:人们,我知道最好避免导致警告的代码。通常这就是我的方法。但是,我在这里编译我不想重写的第三方代码。我只想添加正确的注释以禁止显示警告,这样我可以实际做的警告就不会被掩埋。


问题答案:

此特定警告不能被抑制。至少不是正式的。

关于专有API的警告意味着您不应使用引起警告的API。Sun不支持此类API,并且该警告不会被取消。

如果您特别确定,可以使用高度未记录的javac -XDignore.symbol.file标志,该标志将根据Sun的内部rt.jar而不是面向公众的符号文件来编译程序ct.symrt.jar不会产生此警告。



 类似资料: