2012-03-13 90 views
0

我有一個web項目和一個源項目。如何查找Websphere 6.1中的資源

在Web項目中,我有一個名爲xsd的文件夾,我想從源項目中訪問我的java文件。

從servlet或JSP我可以訪問使用

getServletContext().getRealPath("/xsd")

然而,XSD,從源頭項目,我沒有ServletContext的,我不知道是誰得到xsd夾在保持網絡項目。當項目部署到我們的生產服務器時,我無法使用絕對路徑,因爲這是未知的。

當我使用File在Java中,我得到

new File(".")打印C:\SDP75\runtimes\base_v61\profiles\was61profile1\不包含我的XSD文件夾和Web項目

我如何可以很容易地做到這一點?

回答

2

你能不能把XSD的類路徑,然後做

Thread.currentThread().getContextClassLoader().getResourceAsStream("xsd/A.xsd"); 

它不會給你一個File,但是那會是足夠了嗎?

編輯:刪除前導/,因爲它只適用於Class.getResource()而不是Classloader.getResource()

+0

是的,這正是我需要的。奇怪的是,這是我第一次嘗試。但我試圖看到我的第一個位置,而且我沒有想到只是試試這條路。不管怎樣,非常感謝! – 2012-03-13 10:49:20

+0

這看起來不對。傳遞給Class.getResource/AsStream的資源名稱應該有一個前導「/」,但傳遞給ClassLoader.getResource/AsStream的資源名稱不應該。 – 2012-03-13 11:45:40

+0

@bkail,謝謝。 – beny23 2012-03-13 11:50:05