將Java與此工具包最新版本結合能夠避免應用因多GTK版本衝突而遭遇故障。
目前甲骨文公司正計劃立足於Linux系統將GTK 3 GUI工具包納入Java 9當中。此舉將確保目前Java與該工具包的最新版本加以結合,從而避免應用因多GTK版本衝突而遭遇故障。
根據openjdk.net網站發布的一項Java增強提案,這項舉措的目標在於以預設方式支援GTK(即GIMP工具包)2,並在系統屬性指定的情況下方行使用GTK 3。基於JavaFX、Swing或AWT(即先進容器工具包)的各類Java圖形應用程式將納入此薦規劃,而各現有應用程式亦可在無需針對GTK 2或3進行修改的前提下運行於Linux之上。
這項提案已經被甲骨文公司Java平台部門首席架構師Mark Reinhold發送至openjfx-dev郵件名單中的各位成員。 Java 9預計將在2017年3月正式發布。
“目前有大量Java軟體包在使用GTK,其中包括AWT/Swing、JavaFX以及SWT。SWT已經遷移至GTK 3,但其中仍然包含一項系統屬性,可被用於強制其使用早期版本,”這份提案指出。 「而這種在軟體包內混用不同GTK版本的作法有可能導致應用程式發生故障。」
這一問題也特別影響到各類採用Eclipse開發平台的應用程式。這份提案同時表示,儘管GTK 2與3目前已經以預設方式可用於多數Linux發行版,但仍有一部分發行版方案尚未將其納入。
同樣受到影響的還有GTK+,這套跨平台工具包作為功能部件及API存在,並透過GNU專案以免費軟體發布。其被囊括於多種常見項目當中,從Apache OpenOffice辦公室軟體套件到Inkscape向量圖形編輯器再到PyShare圖像上傳工具皆涵蓋其中。
根據這份Java提案,可資替代GTK 2與3的替代方案在於調整Java圖形以確保其只支援GTK 3,這將極大降低對移植與測試的需求。不過這套方案可能帶來大量無法透過測試發現的bug,意味著我們需要投入額外精力檢查AWT外觀與使用感受,並要求對JavaFX/Swing中的一者或二者進行移植。這類移植工作在執行上往往要求對AWT與Swing做出大量協調。
不過曾任職於Sun Microssytems公司的一位前Java管理人員對由此為Java帶來的改進效果提出了質疑。 「Linux平台上的基於Java的桌面應用程式其實並不多見,因此我不太確定其面向的市場到底有多大規模,」前Sun公司Java EE團隊成員、現任Couchbase公司開發者佈道副總裁的Arun Gupta強調稱。
以上就介紹了openjdknet網站發布的一項Java增強提案,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。