JAVA?module-info.java文件詳解
JAVA module-info.java文件
Java9
module-info.java
module 本模塊的名稱{ exports 對外暴露的包路徑; requires 需要依賴的其他模塊名稱; }
module-info.java
不是類,不是接口,是一些模塊描述信息。module也不是關(guān)鍵字。exports
對外暴露的包路徑;
有些包你想要其他模塊訪問,有些包你不想要其他模塊訪問。
有哪些包,你想要被其他模塊訪問的,這些包的名字就寫在exports后面。
就像import一樣,但是不是導(dǎo)入,是導(dǎo)出。
requires
需要依賴的其他模塊名稱;
本模塊需要關(guān)聯(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)。留著它。
結(jié)果導(dǎo)入類的時候發(fā)現(xiàn)出岔子了。
導(dǎo)類動作如下:
import org.apache.logging.log4j.core.Logger;
報錯如下:
The type org.apache.logging.log4j.core.Logger is not accessible
上網(wǎng)搜了下,就是要加載的類不被許可類似這個意思。
也就是這貨和go-module一樣,是放許可的。
真是感覺天下的編程好雷同啊。這么設(shè)計的好處除了安全,還有什么呢。等我先試用一段時間之后再說
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于JAVA中使用Axis發(fā)布/調(diào)用Webservice的方法詳解
如果初識axis發(fā)布/調(diào)用WS,建議先讀上面的參考文件,本文對于發(fā)布/調(diào)用WS的主要步驟只是簡單文字描述,沒有它寫的詳盡2013-05-05Java8函數(shù)式接口java.util.function速查大全
因為Java8引入了函數(shù)式接口,在java.util.function包含了幾大類函數(shù)式接口聲明,這篇文章主要給大家介紹了關(guān)于Java8函數(shù)式接口java.util.function速查的相關(guān)資料,需要的朋友可以參考下2021-08-08SpringBoot詳解shiro過濾器與權(quán)限控制
當(dāng)shiro被運用到web項目時,shiro會自動創(chuàng)建一些默認的過濾器對客戶端請求進行過濾。比如身份驗證、授權(quán)的相關(guān)的,這篇文章主要介紹了shiro過濾器與權(quán)限控制2022-07-07Java調(diào)用微信客服消息實現(xiàn)發(fā)貨通知的方法詳解
這篇文章主要介紹了Java調(diào)用微信客服消息實現(xiàn)發(fā)貨通知的方法,結(jié)合實例形式詳細分析了java針對微信接口調(diào)用的原理、調(diào)用方法與相關(guān)注意事項,需要的朋友可以參考下2017-08-08SpringBoot返回Json對象報錯(返回對象為空{(diào)})
本文主要介紹介紹了SpringBoot返回Json對象報錯(返回對象為空{(diào)}),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01