0
我有一個應用程序部署在Tomcat服務器上。我用這個計算器link找出加載類的像下面的絕對路徑:如何找到部署在Tomcat中的類的絕對路徑?
代碼1:
getClass().getClassLoader().getResource(".").getPath();
代碼2:
Thread.currentThread().getContextClassLoader().getResource(".").getPath();
預期結果:
/D:/ProgramFiles/Tomcat-7.0.26/webapps/catalog-web/WEB-INF/classes/
實際結果:
/D:/ProgramFiles/Tomcat-7.0.26/lib/
真的和找到的結果混淆了。最後,下面我想:
代碼1:
getClass().getClassLoader().getResource("/").getPath();
代碼2:
Thread.currentThread().getContextClassLoader().getResource("/").getPath();
,我終於得到了我的結果:
/D:/ProgramFiles/Tomcat-7.0.26/webapps/catalog-web/WEB-INF/classes/
所以我的問題是如下:
a)可以喲你請解釋爲什麼發生這種情況?
b)另外,請告訴我是否有其他更好的方法來獲得我的預期結果,而不是我用過的?
你能否提供你最後一句話的提法? 你也可以在回答我的觀點b)底部問題 – 2014-09-24 12:24:25
參考:http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html#getResource(java .lang.String)。但那個答案是我的經驗知識的簡歷。 – DiogoSantana 2014-09-24 15:54:09