1

我使用Eclipse Java EE IDE for Web Developers为 Liferay 创建了许多挂钩。问题是,当我创建一个钩子时,它会部署在 webapps 文件夹中。

我的 webapps 文件夹树:

在此处输入图像描述

有很多钩子。如何将它们移动到 webapps 内的新文件夹中?为了有这样的东西:

  • 网络应用
    • 日历-portlet
    • 挂钩
      • 博客 -钩子
      • 面包屑挂钩
      • 停靠栏
      • 登录挂钩
      • 博客 -钩子
      • 网站页面- 钩子
      • truefalsetocheckbox-钩子
      • 用户信息挂钩
      • 维基钩子
    • 市场门户
    • 我的主题
    • 资源进口商网站


任何帮助是极大的赞赏!太感谢了!

4

2 回答 2

4

我想您是在谈论 Tomcat(或您正在使用的任何应用程序服务器)的 webapp 文件夹。您不能将不同的应用程序合并到一个文件夹中:它必须在部署时保持结构。

因此,您可以做的是在源代码级别聚合这些钩子(即,使用 Liferay IDE 在 Eclipse 中只创建一个钩子项目,这样您就可以将所有内容放在那里)。因此,您可以将它们放入同一个插件中。

顺便说一句,我不鼓励使用几个钩子,因为它们有时可能会覆盖彼此的行为。想象一下,您在属性文件中定义了a-hook某种b-hook属性。您无法确定部署后将使用哪一个。

于 2013-09-06T08:29:27.457 回答
1

为 rlegendi 的答案添加一些推理,这就是您可能会考虑的:

如果您使用 Liferay 的自动部署机制,例如通过 plugins-sdk 部署,Liferay 会将挂钩放在 tomcat 的 webapps 文件夹中(如果您使用 tomcat),您还必须覆盖它。

您可能能够配置 tomcat 来监控不同的目录,即使在同一个虚拟主机上(我只为不同的虚拟主机尝试过这个,不知道这是否能与 Liferay 一起正常工作),但自动部署问题会坚持下去,您基本上必须更改整个部署逻辑,或者像使用“大铁”应用服务器一样手动部署到 tomcat。

如果您对钩子之间的开发时分离感到满意,但希望获得更好的运行时概览,您可能希望将不同的钩子合并为一个以进行部署。但是,您必须自己执行此操作。

但我的最终建议是不要太在意 webapps 目录中的内容——你不应该依赖这个目录的目录列表来了解你的应用服务器上正在运行什么。而是使用适当的部署技术来监控您的实施,并限制手动更改的访问。例如,以脚本方式部署您的应用程序并安装一个系统,该系统会提醒您所需的组件不可用且正在运行。

于 2013-09-12T07:41:45.923 回答