2 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
引用相關(guān)的Java文檔(重點(diǎn)是我的):
資源名稱
類使用的資源名稱的通用約定是使用類包的完全限定名稱,但將所有句點(diǎn) ( ) 轉(zhuǎn)換為斜杠 ( ),并添加
.
形式/
的資源名稱name.extension
。getClassLoader
為了支持這一點(diǎn),并簡(jiǎn)化處理系統(tǒng)類(返回)的細(xì)節(jié)null
,該類Class
提供了兩個(gè)方便的方法來調(diào)用ClassLoader
.賦予類方法的資源名稱可能有一個(gè)初始的開始“/”,將其標(biāo)識(shí)為“絕對(duì)”名稱。不以“/”開頭的資源名稱是“相對(duì)的”。
絕對(duì)名稱從它們的起始“/”中剝離,并在不做任何進(jìn)一步修改的情況下傳遞給適當(dāng)?shù)?ClassLoader 方法以定位資源。相對(duì)名稱根據(jù)前面描述的約定進(jìn)行修改,然后傳遞給 ClassLoader 方法。

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
您需要進(jìn)入wsdl/test.wsdl
內(nèi)部src/main/resources
才能加載資源。
當(dāng)您打包時(shí)app.jar
,wsdl/test.wsdl
進(jìn)入 jar 文件內(nèi)的根路徑,因此.getClassLoader().getResource("wsdl/test.wsdl")
按預(yù)期工作。
添加回答
舉報(bào)