使用Project Jigsaw的JDK 9 Early Access上的Eclipse IDE
幾周前,我寫了關(guān)于在Java 9上運行Eclipse Neon的文章 (盡管,我在帖子標(biāo)題中錯誤地和令人尷尬地留下了“火星”)。 值得注意的是,我列出的步驟也適用于帶有Project Jigsaw (Java模塊化)構(gòu)建的JDK 9 Early Access 。 Eclipse Neon在拼圖上工作。 我一直在使用這種組合在一些我一直在修補的新插件上進(jìn)行實際開發(fā)(稍后再介紹)。
使用在JDK 9 + Jigsaw上運行的Eclipse Neon M2開發(fā)一些新的插件。
Jigsaw以其當(dāng)前形式提供了一個定義明確的可見性模型,該模型管理可從其他模塊訪問模塊的哪些部分。 作為其一部分,它可以防止您訪問內(nèi)部代碼。 例如,多年來,我們一直被警告說,使用com.sun.*軟件包是僵尸程序,而Jigsaw則打算為此做些事情。 模塊化的JDK將這些內(nèi)部程序包從依賴的模塊中隱藏起來,并在嘗試訪問它們時(編譯器和運行時)拋出異常。
作為在類路徑上運行的“遺留” Java應(yīng)用程序,Eclipse IDE作為未命名模塊 (Voldemodule?必須不命名的模塊?)運行。未命名模塊在運行時具有特殊狀態(tài),但仍受可見性約束限制。 我將在后面的文章中保存更詳細(xì)的討論。 我今天的觀點是, Eclipse IDE僅可用于JDK 9拼圖構(gòu)建。 至少在我測試過的Fedora 22和Windows 8系統(tǒng)上確實如此。 我很想了解您的經(jīng)驗。
Jigsaw構(gòu)建帶有一個方便的工具jdeps ,它可以進(jìn)行與模塊依賴項有關(guān)的各種事情
(請注意,此工具僅包含在Jigsaw版本中) 。 該功能包括掃描Java代碼以確定是否違反模塊化模型所施加的任何限制的功能。
我在Mars.1存儲庫上運行了jdeps ,以了解我們可能要完成的工作,并且對Eclipse Project代碼對內(nèi)部API的引用很少感到驚訝。 也許我最大的擔(dān)心是在SWT_AWT橋中引用了一個內(nèi)部類( 錯誤482318 )。 當(dāng)我調(diào)查其他命中時,我將打開其他錯誤。
同時,如果您想檢查自己的代碼是否違反規(guī)定,則可以自己運行jdeps 。 帶有Project Jigsaw構(gòu)建的JDK 9 Early Access只是歸檔文件,您可以將其解壓縮到您選擇的目錄中(它不會更新系統(tǒng)上的任何路徑或配置)并執(zhí)行:
~/jdk1.9.0> bin/jdeps -jdkinternals /path/file.jar/path/file.jar指向一個或多個文件(例如?/ .p2 / plugins / *。jar)。
糾正:jdeps包含在Java 8和9版本中。
在引起您注意的同時,請務(wù)必為EclipseCon 2016進(jìn)行演講!
翻譯自: https://www.javacodegeeks.com/2015/11/eclipse-ide-on-jdk-9-early-access-with-project-jigsaw.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的使用Project Jigsaw的JDK 9 Early Access上的Eclipse IDE的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux脚本if的判断条件(linux
- 下一篇: Java 7和Java 8之间的细微自动