我有一個Web應用程序打包爲部署到Liberty容器中的Bluemix的war文件。應用程序將配置信息存儲在Web應用程序文件夾外的目錄集合中,並且在初始安裝期間將默認文件複製到該位置。當我將它作爲一個簡單的默認war文件進行部署時,出現將默認文件複製到此位置的錯誤。由於Liberty默認不會擴展戰爭文件,因此我將戰爭分解爲一個目錄(defaultServer/apps/idmu.war),並使用服務器目錄部署:https://www.ng.bluemix.net/docs/starters/liberty/index.html#optionsforpushinglibertyapplications__ServerDirectory將Bluemix Liberty Web應用程序的配置數據放在何處
使用server.xml的
<server>
<featureManager>
<feature>jsp-2.3</feature>
</featureManager>
<httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="8080" />
<application name="idmu" context-root="/" type="war" location="idmu.war"/>
</server>
使用以下命令重新發布該應用程序
cf push idmu -p defaultServer
應用程序重新啓動,我仍然得到文件複製錯誤之後,所以我懷疑它的目標目錄,導致問題的權限。任何幫助找到這個目錄的位置,以及如何設置權限是非常感謝。
你在哪裏試圖複製這些文件?您應該在/ home/vcap /這是您的buildpack容器的主目錄下擁有寫權限。例如,/ wlp位於/ home/vcap/app/wlp –
非常感謝。有了這個改變,我現在可以複製文件,但我需要編輯內容來描述環境。此外,該目錄似乎是暫時的(即,應用程序重新啓動時它將消失) - 存儲基於文件的持久數據的正確位置在哪裏以及如何在部署過程中編輯或上載這些文件? –
評論轉移到答案,因爲它似乎幫助你。 –