2014-12-03 111 views
0

一個XML文件添加到類路徑中的以下情形:通過引導類路徑

我延長的編譯成可運行罐子小服務系統的管理工具。這些服務在他們的類路徑中使用xml配置來執行許多任務。

我現在想從編譯的jar文件中提取配置文件,如db配置,並將它們動態添加到類路徑中。到目前爲止,如果您想更改數據庫的設置,那麼您需要重新編譯整個套件,這是各種不好的imho。

我曾嘗試:
java -Xbootclasspath/p:/path/db.xml java -jar Foo.jar - 這導致了Java虛擬機錯誤 - 這似乎並沒有做任何事情,我試圖找到通過在classpath下面的腳本的XML文件,但我一直未能。該XML直接位於罈子(帶jar cvMf db.jar db.xml創建)

我使用的腳本中:

ZipFile zf; 
    ZipFile zf; 
try{ 
    zf = new ZipFile("Foo.jar"); 
} catch(final ZipException e){ 
    throw new Error(e); 
} catch(final IOException e){ 
    throw new Error(e); 
} 
final Enumeration e = zf.entries(); 
while(e.hasMoreElements()){ 
    final ZipEntry ze = (ZipEntry) e.nextElement(); 
    final String fileName = ze.getName(); 
    final boolean accept = Pattern.compile(".*(xml)").matcher(fileName).matches(); 
    if(accept){ 
     log.debug(fileName); 
    } 
} 

我希望有人能幫助解決這個問題,我就還有什麼我可以嘗試是很笨。

+0

那麼你想引用jar裏面的xml文件?如果是這樣你可以加載類路徑中的資源描述http://stackoverflow.com/questions/3294196/load-resource-from-anywhere-in-classpath – 2014-12-03 20:12:02

+0

你不能使用-classpath和-jar一起。編輯:再次,bootclasspath arguemnt似乎並沒有將jar的內容添加到我的類路徑中 – minime 2014-12-03 20:25:57

回答

0

我已經重新包裝了xml,現在看起來工作正常。抱歉無謂張貼。