JAVA?module-info.java文件詳解
JAVA module-info.java文件
Java9
module-info.java
module 本模塊的名稱{ exports 對外暴露的包路徑; requires 需要依賴的其他模塊名稱; }
module-info.java
不是類,不是接口,是一些模塊描述信息。module也不是關鍵字。exports
對外暴露的包路徑;
有些包你想要其他模塊訪問,有些包你不想要其他模塊訪問。
有哪些包,你想要被其他模塊訪問的,這些包的名字就寫在exports后面。
就像import一樣,但是不是導入,是導出。
requires
需要依賴的其他模塊名稱;
本模塊需要關聯(lián)、依賴的其他模塊,就把其他模塊名稱寫在后面。
只有一個模塊不用寫,java.base
//module mod.a中有: //packet.abc.one //和 //packet.abc.two module mod.a{ ?? ?exports packet.abc.one; } module mod.b{ ?? ?requires mod.a; //模塊b依賴模塊a ?? ?//b可使用a的one包 }
命名推薦使用完全英文小寫,不要數(shù)字減號。
module-info.java什么意思
module-info.java什么意思,新版的eclipse一出來就看到這個文件,抱著試一試的心態(tài)。留著它。
結果導入類的時候發(fā)現(xiàn)出岔子了。
導類動作如下:
import org.apache.logging.log4j.core.Logger;
報錯如下:
The type org.apache.logging.log4j.core.Logger is not accessible
上網(wǎng)搜了下,就是要加載的類不被許可類似這個意思。
也就是這貨和go-module一樣,是放許可的。
真是感覺天下的編程好雷同啊。這么設計的好處除了安全,還有什么呢。等我先試用一段時間之后再說
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
基于JAVA中使用Axis發(fā)布/調用Webservice的方法詳解
如果初識axis發(fā)布/調用WS,建議先讀上面的參考文件,本文對于發(fā)布/調用WS的主要步驟只是簡單文字描述,沒有它寫的詳盡2013-05-05Java8函數(shù)式接口java.util.function速查大全
因為Java8引入了函數(shù)式接口,在java.util.function包含了幾大類函數(shù)式接口聲明,這篇文章主要給大家介紹了關于Java8函數(shù)式接口java.util.function速查的相關資料,需要的朋友可以參考下2021-08-08Java調用微信客服消息實現(xiàn)發(fā)貨通知的方法詳解
這篇文章主要介紹了Java調用微信客服消息實現(xiàn)發(fā)貨通知的方法,結合實例形式詳細分析了java針對微信接口調用的原理、調用方法與相關注意事項,需要的朋友可以參考下2017-08-08SpringBoot返回Json對象報錯(返回對象為空{})
本文主要介紹介紹了SpringBoot返回Json對象報錯(返回對象為空{}),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01