我的項目目錄結構讀WAR文件從src文件夾類
/src
/model
/Updatedata.java
/war
/vector
/basicvector.xml
我用它來從Updatedata
類閱讀basicvector.xml
我的項目目錄結構讀WAR文件從src文件夾類
/src
/model
/Updatedata.java
/war
/vector
/basicvector.xml
我用它來從Updatedata
類閱讀basicvector.xml
如果你正在寫一個servlet,您可以用
getServletContext().getResourceAsStream("/basicvector.xml")
或
getServletContext().getResourceAsStream("/vector/basicvector.xml")
(我不能完全從這個問題告訴basicvector.xml是否將.war或文件夾的根叫vector
)
好的,謝謝馬修 – 2011-05-03 21:33:35
的getClass()的getResource( 「/」)的方法。但 返回路徑WEB-INF /班/
這是因爲當你在運行時,WEB-INF /班/文件夾被認爲是CLASSPATH分辨率的當前目錄。對getClass()的調用調用當前類使用的類加載器,並且getResource()要求類加載器查找文件。這就是爲什麼「/」不是驅動器的根目錄,它是類加載器的根目錄/當前目錄。
知道了,您可以使用相對路徑向後導航到您的XML文件的位置。
假設你的代碼的結構如下
/war/vector/basicvector.xml
/war/WEB-INF/class/
那麼你可以使用:
getClass().getResource("/../../vector/basicvector.xml");
你嘗試過什麼樣的方法? – 2011-05-03 20:29:23
getClass()。getResource(「/」);但它返回的路徑WEB-INF/class/ – 2011-05-03 20:31:17