2015-03-25 93 views
3

我剛開始使用木蘭,一開始讓我驚訝的是Magnolia需要在每個.war部署到tomcat之後安裝。我在我的項目中做了一些更改,使用mvn tomcat7:deploy/redeploy進行部署。 Tomcat自動識別ROOT.war已經改變,所以它自動解壓縮,之後當我輸入localhost:8080時,它希望我再次安裝Magnolia模塊。在我的項目中每進行一次更改並部署後,是否真的有必要一次又一次安裝所有模塊?也許我如何改變我的項目並部署它是錯誤的?如果我沒有以這種方式弄錯我的內容更改也會被覆蓋/刪除?在沒有安裝的情況下部署Magnolia CMS

回答

2

您必須每次重新安裝Magnolia,因爲我認爲每次部署新版本時都會刪除您的存儲庫(數據庫)。
可能您將數據保存在webapps中的文件夾中,並且每次部署新的.war時都會將其刪除。
如果您希望在部署之間保留網站和模塊,則需要將存儲庫位置更改爲文件系統中的其他文件夾,或者設置數據庫連接。
你可以通過修改repositories.xml文件或者添加一個自定義的jackrabbit conf文件來達到這個目的,在這個article中你會發現很多有用的信息,並且我建議你看一下段落'Custom Jackrabbit configuration file'

+1

太謝謝你了。要閱讀文章並嘗試使用外部數據庫(mysql)。 – mickiewicz 2015-03-25 10:40:27

3

查看documentation關於如何配置Magnolia的細節,但實質上,如果您打開/WEB-INF/config/default/magnolia.properties並將magnolia.home=更改爲指向Web應用程序的OUTSIDE目錄就足夠了。默認情況下,它被設置在war文件的內部,因此您可以輕鬆地擦除和重新安裝Magnolia。在你的情況下,你希望你的數據是永久的,所以你把它設置出來。您仍然應該閱讀由Daniele鏈接的關於如何設置devenv的文章,並且您可能仍然希望爲生產使用配置不同於derby的數據庫,但是您應該將所有數據都保存在webapp之外。

HTH,

+0

我一定會閱讀你提到的文檔。由Daniele聯繫的文章非常棒,非常有用。另外兩個:[building](http://dev.magnolia-cms.com/~gjoseph/dont-build-magnolia-build-your-projects)和[配置](http://dev.magnolia-cms。 com /〜gjoseph/dont-configure-magnolia-let-your-projects-configure-it)也值得一讀。所有這些對我而言都非常有用。 – mickiewicz 2015-03-26 12:42:37

相關問題