0
我有一個Spring Boot應用程序,我嘗試將它部署到.war以從Tomcat服務器運行它。.war的相對路徑如何工作?
在此之前,我部署到一個可執行文件.jar,一切正常。
在應用程序中,我需要讀取.json文件並讀取目錄,它們的位置以相對方式給出。當部署到.jar時,我會將該文件放在與.jar相同的文件夾中。我會訪問它:./branchMap.json
。該目錄也將與jar相同的文件夾中,我可以這樣訪問它:./patches
。
現在,當我部署到.war時,我將應用程序放置在Tomcat中的webapps中,並將json文件和文件夾放置在webapps中。當我運行應用程序時,它能夠讀取json文件,但無法讀取/ patches文件夾。
這是怎麼發生的?我已經看到Tomcat試圖加載/ patches文件夾作爲應用程序,在tomcat管理器中列出。這如何幹擾試圖讀取訪問該文件夾的應用程序?部署到戰爭的應用訪問相對路徑的方式有什麼不同嗎?
這不是一個解決方案,因爲我希望能夠在不同的機器上部署該jar – dannemp
在這種情況下,你可以去集中配置。對於不同的機器,你可以在集中配置服務器中創建具有相同路徑的補丁文件夾。 –
是的,我可以這樣做,但我的問題是關於爲什麼只在部署到戰爭時發生這種情況的原因,爲什麼當作爲獨立jar運行時,可執行jar工作在 – dannemp