2014-03-31 83 views
-1

我在JDK 7文檔中找不到有關sun.*包的任何參考。 是否已棄用?但是,什麼是替代品?太陽發生了什麼變化*包

例如:sun.reflect.*;已被棄用,那麼現在有哪些選項?

如果有人可以發佈已棄用的軟件包和可用的新選項,那將會很棒。

注:我成功地通過設置訪問規則來使用它們。 enter image description here

這是什麼意思?

+0

你爲什麼需要它們?你是否試圖實現調用者敏感的行爲? – Antimony

+0

據我所知,'sun。*'軟件包從未正式發佈,所以如果你使用它們,它們可能在不同的版本中有所不同。 – rm5248

回答

1

sun.reflect包不會被棄用。它們僅供JDK內部使用。 Oracle(以前稱爲Sun)不記錄內部軟件包,也不保證它們將存在於所有Java平臺實現中(任何供應商都可以實現Java平臺),也不保證它們在所有版本的標準Oracle Java平臺中都是相同的實現。

Oracle explains this on their website

sun.*包不支持的,公共接口的一部分。

直接調用sun.*包的Java程序不是 保證可以在所有Java兼容的平臺上工作。實際上,這樣的一個 程序不能保證即使在相同的 平臺的未來版本上也能正常工作。

+0

還有其他包嗎?類似的命運? – John

+0

在我的答案中鏈接的頁面上還提到:「Java平臺標準版API規範中記錄的java。*,javax。*和org。*包構成官方支持的公共接口。」因此不支持這3個包之外的任何內容,包括「com.sun。*」。 –

+0

以下是來自OpenJDK 1.7源代碼的ReflectionFactory的Javadoc:http://www.docjar.com/docs/api/sun/reflect/ReflectionFactory.html –

相關問題