request.getSession().getServletContext().getRealPath("/")
為什么獲取不到專案根路徑?
卻獲取到了 C:\Users\lenovo\AppData\Local\Temp\tomcat-docbase.6357278361805976111.8080\ 這個路徑?
求解大神指點一下。
uj5u.com熱心網友回復:
因為這是spring boot內置tomcat的原因,每次啟動專案他的Tomcat的路徑都不相同,是虛擬的路徑,而且很多,過一段時間它可以自動清楚這些不用的檔案夾,這個方法在spring boot里面不好用,也是剛要使用一個圖片,放在tomcat服務器上可以訪問到,但是重啟就訪問不到了,就是因為有了不同的運行目錄,使用需要進行配置,首先配置server.tomcat.basedir=D:/tt,然后它就會把專案放在這個tt目錄下,(當然可能實我自己的見解),然后我把圖片存在了D:\tt\work\Tomcat\localhost\ROOT\upload,這個\work\Tomcat\localhost\ROOT是它自己建的,我建立了upload檔案夾,然后再去配置的public void addResourceHandlers(ResourceHandlerRegistry registry){registry.addResourceHandler("/upload/**").addResourceLocations("file:///"+"D:\\tt\\work\\Tomcat\\localhost\\ROOT\\upload\\"); }這樣我就可以頁面上訪問到http://localhost:8080/upload/8fa35b7d6b71a8af.jpg,希望對你有所幫助
uj5u.com熱心網友回復:
springboot的話,可以用以下方法獲取jar包的路徑ApplicationHome home = new ApplicationHome(getClass());
File sysfile = home.getSource();
String jarPath = sysfile.getParentFile().toString();
uj5u.com熱心網友回復:
覺得你說的很有道理 但是不知道具體怎么實作 我現在就是遇到這個狀況 麻煩你能告訴我具體怎么做嗎
uj5u.com熱心網友回復:
你已經改好沒有uj5u.com熱心網友回復:
https://blog.csdn.net/weixin_42950079/article/details/103682298去看這個帖子
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/93192.html
標籤:Java EE
