如何将Liferay挂钩移动到webapps内的目录中?

时间:2013-09-06 08:06:50

标签: java eclipse liferay liferay-hook

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

我的webapps文件夹树:

enter image description here

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

  • web应用
    • 日历的portlet
      • blogs-
      • breadcrumb- hook
      • dockbar-
      • login- hook
      • blogs-
      • sitepages-
      • truefalsetocheckbox-
      • userinfo-
      • wiki-
    • 市场的portlet
    • 我的主题
    • 资源-进口商幅
    • ROOT


任何帮助是极大的赞赏!非常感谢你!

2 个答案:

答案 0 :(得分:4)

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

所以你可以做的是在源代码级别聚合这些钩子(即,在Eclipse中只用Liferay IDE创建一个钩子项目,这样你就可以把所有东西都放在那里)。所以你可以把它们放在同一个插件中。

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

答案 1 :(得分:1)

为rlegendi的回答添加一些推理,这是你可以考虑的:

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

你可能能够配置tomcat来监控不同的目录,即使是在同一个虚拟主机上(我只是为不同的虚拟主机试过这个,并且不知道这是否可以与Liferay一起使用),但是自动 - 部署问题会持续存在,您基本上必须更改整个部署逻辑,或者像使用“大铁”应用程序一样手动部署到tomcat。

如果您对钩子之间的开发时间分离感到满意,但想要更好的运行时概述,您可能希望将不同的钩子合并为一个用于部署。但是,您必须自己完成此操作。

但我最后的建议是不要过多关心webapps目录中的内容 - 你不应该依赖这个目录的目录列表来了解你的appserver上运行的是什么。而是使用适当的部署技术来监控您的实现,并限制对手动更改的访问。例如。部署您的应用程序脚本并安装一个系统,该系统应警告您所需的组件不可用并正在运行。