ljc.framework_Java 9模块系统(拼图)@ LJC的HackTheTower
ljc.framework
今天,我們花了半天時間參加了第一次HackTheTower活動。 倫敦的Java用戶組(aka LJC )的成員應(yīng)邀在倫敦市的'SalesForceTower'(aka Heron Tower )26樓聚會。
- Heather VanCura是Java社區(qū)流程的主席
- 馬尼·薩卡 ( Mani Sarkar )
- ZeroTurnaround開發(fā)人員關(guān)系總監(jiān)Simon Maple
討論和了解Java 9的模塊化系統(tǒng)Project Jigsaw 。 活動組織得井井有條,從上方進(jìn)行編碼,可以欣賞倫敦市中心和其他摩天大樓的景觀!
該活動分為三個部分,向我們提供了有關(guān)Jigsaw的練習(xí)和材料(小示例,類似于您在OpenJDK頁面上找到的示例),然后我們可以談?wù)摶蛱岢鋈魏螕?dān)憂或遺漏的感覺應(yīng)當(dāng)反饋給不斷發(fā)展的Jigsaw的OpenJDK / Oracle開發(fā)人員。
您可以在以下鏈接上找到所有材料/幻燈片和我們的反饋 :
- Github倉庫: https : //git.io/v9UJ8
- 此反饋表: https : //goo.gl/oytFzX
- 幻燈片: http : //bit.ly/2pnPU1c
我對拼圖的感覺如何
老實說,Jigsaw似乎是我最不喜歡的Java 9功能。這是我參加該活動的原因之一。 并不是因為它本身就是一個不好的功能,或者它背后的實際需求,特別是使JDK / JRE的核心模塊化或更物聯(lián)網(wǎng)友好的功能。 但是由于對現(xiàn)有Java生態(tài)系統(tǒng)和應(yīng)用程序的潛在副作用。 最終,由于各種問題(而且我仍然有),我最終還是沒有第一次嘗試使用預(yù)發(fā)行版來測試個人或與工作相關(guān)的項目,以查看它們是否適用于新版本的Java。
我們是否錯過了拼圖之類的功能? 是。 我們有類似的嘗試嗎? 是的,我們有了OSGi (涵蓋了許多部分),然后出現(xiàn)了JBoss Modules 。 我總是覺得OSGi是個好主意,但是太復(fù)雜了。 我有機會使用JBoss模塊,我喜歡它,但這只是在基于它構(gòu)建的產(chǎn)品Wildfly應(yīng)用程序服務(wù)器上進(jìn)行的,因此它就像一個完整的預(yù)言,因此我從未嘗試過將其應(yīng)用于我的項目或我工作過的任何項目。
如今,看到Java代碼示例以及伴隨bash腳本調(diào)用諸如工具之類的jdk特定命令的我感到沮喪。 javac的旗子, JLINK或JMOD ,罐子是不是罐子,但是他們表現(xiàn)得像罐子。 我感覺我在uni的第一天是Java的那一天,最終Ant仍然不是問題,而Java是使用定制的make文件機制等進(jìn)行編譯的。我喜歡所有這些新工具嗎? 沒有為什么? 因為作為一名應(yīng)用程序/業(yè)務(wù)開發(fā)人員,我依賴抽象的構(gòu)建工具,并且希望它們?yōu)槲規(guī)矸敝氐墓ぷ?#xff0c;所以我不想回去編輯模塊描述符或在以Plain Old Jar為王的情況下與現(xiàn)有的構(gòu)建工具抗衡。新的國王模塊,反之亦然。
因此,目前我看不到現(xiàn)有的主流Java Built工具的明確路徑。 是的,工作正在進(jìn)行中,例如Maven編譯器插件版本3.6.1與Jigsaw兼容。 順便說一句,當(dāng)前您似乎需要將JigSaw模塊映射和打包為Maven模塊,以便擁有2個世界中最好的。 我不知道這整個事情會讓我有些困惑,除非我錯過了什么。
看來我們正在朝著Java生態(tài)系統(tǒng)的方向發(fā)展,至少對于Java 9而言,您要么使用Jigsaw的規(guī)則,然后從頭開始構(gòu)建一些新東西,要么引入與Jigsaw語義兼容的模塊和項目結(jié)構(gòu),要么就閉上眼睛,添加“ kill switch ”或您的Java執(zhí)行,然后繼續(xù)探索新世界和舊世界。
最后但并非最不重要的一點是,我不能忽略,來自應(yīng)用程序服務(wù)器的擔(dān)憂和發(fā)布的數(shù)量越來越多,庫開發(fā)人員對Java9可能會給他們的庫帶來潛在的問題。 我想所有Java應(yīng)用程序開發(fā)人員都想使用Java 9,但是如果想引入1000個新問題,因為Spring類加載不再起作用,或者
CDI或其應(yīng)用程序服務(wù)器的任何子模塊將要中斷,這是一種不必要的噪音。
因此,暫時我對此持懷疑態(tài)度,但我將繼續(xù)投入時間并學(xué)習(xí)更多或嘗試使用它,很可能不是使用SpringBoot或WildflySwarm項目,而是相當(dāng)簡單。
我真的很喜歡以下文章
- https://blog.plan99.net/is-jigsaw-good-or-is-it-wack-ec634d36dd6f
- https://developer.jboss.org/blogs/scott.stark
翻譯自: https://www.javacodegeeks.com/2017/04/java-9-module-system-jigsaw-ljcs-hackthetower.html
ljc.framework
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的ljc.framework_Java 9模块系统(拼图)@ LJC的HackTheTower的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux授权用户文件夹权限(linux
- 下一篇: ddos是利用什么攻击的(ddos是利用