0

以下のJavaコードをコンパイルすると、

Window w = c instanceof Window ? (Window) c : SwingUtilities.getWindowAncestor(c);
WindowPeer peer = (WindowPeer) w.getPeer();

以下の警告メッセージが表示されます:

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

この問題を解決する方法はありますか?JDK 1.6を使用していて、1.7も試しました。

4

1 に答える 1

0

警告を抑制するには、次の 2 つの方法があります。ただし、警告を抑制することはお勧めしません。警告メッセージのテキストでその理由がわかります。

アプローチ#1(最も簡単)は実行することです

javac -XDignore.symbol.file ...

rt.jarこれにより、公開されているシンボル ファイルではなく、Sun の内部に対してプログラムがコンパイルされますct.sym

アプローチ#2aは実行することです

javac -XDenableSunApiLintControl -Xlint:-sunapi ...

これでも「メモ」は発行されますが、警告は発行されません。

アプローチ#2bは、書き込みによって警告とメモを抑制することです

@SuppressWarnings("sunapi")

ただし、これには次のように javac を実行する必要があります。

javac -XDenableSunApiLintControl ...
于 2013-10-24T23:51:50.170 に答える