2012-05-30 34 views
0

我有Java EE應用程序,並在其servlet的之一,我使用爲什麼System.getProperty沒有按預期工作

System.getProperty("user.dir") 

但這返回我我的eclipse目錄不是項目目錄!

爲了測試這個我創建了一個測試項目..一個獨立的Java應用程序項目在Eclipse中使用相同的代碼,它返回項目目錄的路徑! (這是我想要的)

問題:爲什麼行爲是差異?如何在我的servlet中獲得項目目錄的路徑?

+0

如果您閱讀了關於系統屬性的信息,user.dir指向用戶的(您的)工作目錄。 –

+0

我可能是錯的,但是在部署servlet時,「項目目錄」可能不可用。爲什麼servlet會知道一些隨機Eclipse項目的位置? – jahroy

回答

4

爲了訪問PR的路徑oject從servlet目錄,試試這個:

request.getSession().getServletContext().getRealPath("/") 

除此之外,System.getProperty("user.dir")其實工作正常,返回用戶的工作目錄(不一定是相同項目的目錄)。請首先閱讀documentation

+0

爲什麼要閱讀文檔,當你可以直接進入SO並噴出?!? ;) – jahroy

+0

這不是說jahroy,它只是你需要緊急的東西..當你正在修理prod問題..這必須在一個小時內。但是相當真實的,該文件應該先被提及。我會做筆記 –

+1

謝謝奧斯卡的幫助。這樣可行。 –

2

如果你確實閱讀文檔,它說的:

user.dir來當性質 當前工作目錄初始化

聽起來像它的工作如預期,我...

從這裏:http://www.mindspring.com/~mgrand/java-system-properties.htm

+0

+1僅供參考,但最好鏈接到[官方文檔](http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html)。 –

+0

我會聯繫到這一點,但我發現它有點太簡潔;) – jahroy

相關問題