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