2012-10-05 57 views
3

可能重複:
Cannot stop ant from generating compiler warnings如何禁止sun.reflect.Reflection的專有API警告?

如何禁止這種警告:

sun.reflect.Reflection is Sun proprietary API and may be removed in a future release 

使用@SuppressWarnings在甲骨文的javac(1.6)?

根據this blog使用"all"應該工作,但它沒有。有人知道正確的字符串嗎?

+0

難道你不能用java.lang.reflect來代替嗎? – assylias

+1

@assylias:1)另一個問題也沒有回答。 2)'java.lang.reflection'沒有'sun.reflect.Reflection.getCallerClass'。 – ceving

回答

4

嘗試添加

-XDignore.symbol.file

選項javac命令行

希望這有助於

編輯 REF:OPENJDK

示例6

要編譯源代碼,您可以使用JDK7中的javac和-source 1.6 -target 1.6,或者使用-XDignore.symbol.file = true從修補的JDK6運行javac。此標誌是必需的,因爲javac使用符號文件來確定com/sun名稱空間中的軟件包,並且不會識別新的sctp類,因爲它們不在此符號文件中。

+0

這似乎有幫助,但我不知道爲什麼。這是做什麼的?爲什麼它抑制警告?我可能不想要的事情是什麼? – ceving

+0

請參閱編輯 –

+0

我沒有收到有關缺少類的錯誤消息,但卻收到有關專有API的警告。一個關於「sctp」類的信息(不管他可能是什麼)如何改變API是專有的?但無論如何... – ceving