由於的Java 7更新25,applet的方法getCodeBase()
彷彿回到NULL
當地小程序。我還沒有發現任何可以宣佈/解釋此更改的發行說明,但我發現email discussion聲稱此更改實際上是有意的。Applet.getCodeBase()因爲Java 7的更新本地的小程序返回null 25
任何人都可以幫助我找到一個資源/文檔,在那裏我可以瞭解更多關於這種變化?
由於的Java 7更新25,applet的方法getCodeBase()
彷彿回到NULL
當地小程序。我還沒有發現任何可以宣佈/解釋此更改的發行說明,但我發現email discussion聲稱此更改實際上是有意的。Applet.getCodeBase()因爲Java 7的更新本地的小程序返回null 25
任何人都可以幫助我找到一個資源/文檔,在那裏我可以瞭解更多關於這種變化?
更新(2014年1月21日),「本地應用程序以便返回NULL」:Java 7的更新51個看起來已經修正了這個錯誤的Java
甲骨文聲稱的修復是「安全」有關,需要防止沙盒小程序獲得對「文件路徑」信息(運行小程序的文件夾名稱)的訪問權限。但是,甲骨文失敗可怕,因爲在這裏非常詳細的解釋:
http://www.duckware.com/tech/java-security-clusterfuck.html
谷歌的「Java錯誤報告」,並提交錯誤報告給甲骨文。
很好的閱讀,如果不是完全正式的。 – MvG
Oracle bug #8017250(顯然與Unable to debug applet with JDK 7u21 and 7u25有關)還有一些細節。特別是,它指出,這是「不是問題」(即故意),並提出了以下方案:
如果小程序需要加載的資源:如果資源是在小應用程序JAR
- ( s),他們應該能夠直接加載
ClassLoader.getResoruceAsStream
,而不需要代碼庫信息。- 如果資源位於任意位置,而不是在applet JAR內部,則應該有其他方法可以到達該位置,因爲它不是小程序資源的一部分。 (如
user.home
Java系統屬性,前提是他們的小程序擁有所有的權限)
我想知道我怎麼會忽略了這...無論如何,這將是很好知道爲什麼會改變它的方式。 –