2011-02-15 121 views
1

我試圖用我打包一個jar文件中的XML資源文件(姑且稱之爲wrapper.jar)使用jar文件中的資源?

我發現這個其他線程這是非常有用的,但我偶然發現了另一個問題。 Within resources in JAR

我的jar文件內容如下:

wrapper.jar: 
/META-INF 
/org 
    /ihe 
    axis2.xml 

當我嘗試這個類org.ihe.consumer.Foo構造函數中

的java.net.URL XMLURL =的getClass() 。.getClassLoader()的getResource( 「axis2.xml」);

我得到這個從 「看」:

的jar:文件:/ C:/Users/JROSE-HP/.m2/repository/org/apache/axis2/axis2-kernel/1.5。 4/Axis2的內核 - 1.5.4.jar!/axis2.xml

我不明白爲什麼它會嘗試獲取從默認Axis2的罐子,而不是我的罐子xml文件...有一個與axis-kernel-1.5.4.jar的依賴關係。

但是我怎樣才能從wrapper.jar獲得XMl文件?

謝謝

+0

你需要給的完整路徑的資源。如果有多個文件具有相同的路徑,那麼類路徑的順序很重要。找到的第一個條目被返回。 – 2011-02-15 20:34:37

+0

好吧,我明白了,我在別處有相同的資源名稱。 – 2011-02-15 20:41:58

回答

2

你需要指定罐子裏面的路徑:

java.net.URL xmlURL = getClass().getClassLoader().getResource("org/ihe/axis2.xml");