我有Java EE應用程序,並在其servlet的之一,我使用爲什麼System.getProperty沒有按預期工作
System.getProperty("user.dir")
但這返回我我的eclipse目錄不是項目目錄!
爲了測試這個我創建了一個測試項目..一個獨立的Java應用程序項目在Eclipse中使用相同的代碼,它返回項目目錄的路徑! (這是我想要的)
問題:爲什麼行爲是差異?如何在我的servlet中獲得項目目錄的路徑?
我有Java EE應用程序,並在其servlet的之一,我使用爲什麼System.getProperty沒有按預期工作
System.getProperty("user.dir")
但這返回我我的eclipse目錄不是項目目錄!
爲了測試這個我創建了一個測試項目..一個獨立的Java應用程序項目在Eclipse中使用相同的代碼,它返回項目目錄的路徑! (這是我想要的)
問題:爲什麼行爲是差異?如何在我的servlet中獲得項目目錄的路徑?
爲了訪問PR的路徑oject從servlet目錄,試試這個:
request.getSession().getServletContext().getRealPath("/")
除此之外,System.getProperty("user.dir")
其實工作正常,返回用戶的工作目錄(不一定是相同項目的目錄)。請首先閱讀documentation。
爲什麼要閱讀文檔,當你可以直接進入SO並噴出?!? ;) – jahroy
這不是說jahroy,它只是你需要緊急的東西..當你正在修理prod問題..這必須在一個小時內。但是相當真實的,該文件應該先被提及。我會做筆記 –
謝謝奧斯卡的幫助。這樣可行。 –
如果你確實閱讀文檔,它說的:
user.dir來當性質 當前工作目錄初始化
聽起來像它的工作如預期,我...
從這裏:http://www.mindspring.com/~mgrand/java-system-properties.htm
+1僅供參考,但最好鏈接到[官方文檔](http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html)。 –
我會聯繫到這一點,但我發現它有點太簡潔;) – jahroy
如果您閱讀了關於系統屬性的信息,user.dir指向用戶的(您的)工作目錄。 –
我可能是錯的,但是在部署servlet時,「項目目錄」可能不可用。爲什麼servlet會知道一些隨機Eclipse項目的位置? – jahroy