gpt4 book ai didi

java - 如何在 Liferay 中将 portlet+theme+layout 打包到单个 WAR/web 应用程序中?

转载 作者:行者123 更新时间:2023-12-04 04:54:48 27 4
gpt4 key购买 nike

ROOT应用程序包含所描述的所有项目(经典主题、大约 10 个布局和众多 portlet)。

像这样创建自己的包是可能的还是好的做法?如何?

请给个提示。

最佳答案

从理论上讲,可以将一个项目包含一个 Portlet、主题、布局和一个 Hook 都打包在一个项目中。

但是,从维护和开发的角度来看,将所有四种类型放在一起根本不是一个好的做法。

尽管有时您可能在一个项目中有一个 portlet 并 Hook ,如果它们以某种方式相关,例如您希望有一些监听器将数据添加到您的自定义表,然后您的 portlet 将提供一个接口(interface)来更新或查看该数据,所以在在这种情况下,它们是相互依赖的,如果 portlet 发生故障,那么钩子(Hook)就没有用了。所以继续把它们结合起来。

因此,如果这 4 种类型以某种方式相关或相互依赖,而不是我看到将它们聚集在一起的用例(这种情况很少见),但仍然从维护的角度来看,我宁愿将 4 种分开。至少我会将 portlet 和主题分开,并且可能有一个 Portlet-hook 组合和一个主题-布局组合,因为即使从维护和开发的角度来看,它们也能很好地相互配合。

这里是你如何做到的

  • 让项目名称为 MyCompletePackage-portlet
  • 项目可住portlets plugins-sdk 的文件夹如果您使用 plugins-sdk .
  • 现在像往常一样添加插件类型特定的东西,比如:
  • liferay-hook.xml用于 Hook
  • liferay-portlet.xml用于 portlet
  • liferay-look-and-feel.xml主题
  • liferay-layout-templates.xml用于布局
  • 对于 hook 和 portlet 组合,您不需要修改 build.xml文件并像往常一样构建。
  • 即使对于主题和布局组合,您也不需要修改 build.xml .
  • 但是对于主题和 portlet 组合,您需要在 build.xml 中包含特定于主题的内容。 .
  • 由于部署程序在项目中查找特定文件,因此它会知道您正在部署的所有内容并相应地注册它们。

  • 让我知道这是否适合您或您是否遇到任何问题。

    免责声明:我还没有尝试过第 6 点,但应该可以

    关于java - 如何在 Liferay 中将 portlet+theme+layout 打包到单个 WAR/web 应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16901370/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com