【问题标题】:Deploy Magnolia CMS without installing it无需安装即可部署 Magnolia CMS
【发布时间】:2015-05-28 22:06:31
【问题描述】:

我刚开始使用 magnolia,一开始我很惊讶,每次 .war 部署到 tomcat 后都需要安装 Magnolia。我对我的项目进行了一些更改,使用mvn tomcat7:deploy/redeploy 部署它。 Tomcat 会自动识别 ROOT.war 已更改,因此它会自动解压缩它,然后当我输入 localhost:8080 时,它希望我再次安装 Magnolia 模块。在我的项目中的每一次更改和部署之后,是否真的有必要一次又一次地安装所有模块?也许我在项目中进行更改和部署的方式是错误的?如果我没记错的话,我的内容更改也会被覆盖/删除?

【问题讨论】:

    标签: java content-management-system jcr magnolia


    【解决方案1】:

    您每次都必须重新安装 Magnolia,因为我认为您每次部署新版本时都会删除存储库(数据库)。
    可能您将数据保存在 webapps 内的文件夹中,并且每次部署新的 .war 时都会将其删除。
    如果您想在部署之间保留您的网站和模块,我需要将存储库位置更改为文件系统中的其他文件夹,或者设置数据库连接。
    您可以通过修改 repositories.xml 文件或添加自定义 jackrabbit conf 文件来做到这一点,在此 article 您会发现很多有用的信息,我建议您查看“自定义 Jackrabbit 配置文件”段落

    【讨论】:

    • 非常感谢。要阅读这篇文章并尝试使用外部数据库(mysql)。
    【解决方案2】:

    查看documentation 了解如何配置 Magnolia 以了解详细信息,但本质上,打开 /WEB-INF/config/default/magnolia.properties 并将 magnolia.home= 更改为指向 webapp 外部的目录就足够了。默认情况下,它设置在 war 文件中,因此您可以轻松擦除和重新安装 Magnolia。在您的情况下,您希望您的数据是永久的,因此您将其设置出来。您仍应阅读 Daniele 链接的有关如何设置 devenv 的文章,并且您可能仍希望配置与 derby 不同的数据库以供生产使用,但您也应将所有数据保留在 webapp 之外。

    HTH,
    一月

    【讨论】:

    • 我一定会阅读您提到的文档。 Daniele 链接的文章非常棒且非常有用。另外两个:buildingconfiguring 也值得一读。在我的案例中,所有这些都非常有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多