我使用 Eclipse Java EE IDE for Web Developers 为Liferay 创建了许多钩子。 问题是当我创建一个钩子部署在webapps文件夹中时。
我的webapps文件夹树:
有很多钩子。如何将它们移动到webapps中的新文件夹中? 为了得到这样的东西:
任何帮助是极大的赞赏!非常感谢你!
答案 0 :(得分:4)
我想你是在谈论Tomcat(或者你正在使用的任何appserver)webapp文件夹。您不能将不同的应用程序合并到一个文件夹中:它必须保持结构部署。
所以你可以做的是在源代码级别聚合这些钩子(即,在Eclipse中只用Liferay IDE创建一个钩子项目,这样你就可以把所有东西都放在那里)。所以你可以把它们放在同一个插件中。
顺便说一句我不鼓励使用几个钩子,因为它们偶尔会覆盖彼此的行为。想象一下,您在属性文件中的a-hook
和b-hook
中定义了某种属性。您无法分辨部署后将使用哪一个。
答案 1 :(得分:1)
为rlegendi的回答添加一些推理,这是你可以考虑的:
如果您使用Liferay的自动部署机制,例如通过plugins-sdk部署,Liferay将钩子放在tomcat的webapps文件夹中(如果你使用tomcat),你还必须覆盖它。
你可能能够配置tomcat来监控不同的目录,即使是在同一个虚拟主机上(我只是为不同的虚拟主机试过这个,并且不知道这是否可以与Liferay一起使用),但是自动 - 部署问题会持续存在,您基本上必须更改整个部署逻辑,或者像使用“大铁”应用程序一样手动部署到tomcat。
如果您对钩子之间的开发时间分离感到满意,但想要更好的运行时概述,您可能希望将不同的钩子合并为一个用于部署。但是,您必须自己完成此操作。
但我最后的建议是不要过多关心webapps目录中的内容 - 你不应该依赖这个目录的目录列表来了解你的appserver上运行的是什么。而是使用适当的部署技术来监控您的实现,并限制对手动更改的访问。例如。部署您的应用程序脚本并安装一个系统,该系统应警告您所需的组件不可用并正在运行。