如何从 Liferay 7 取消部署 portlet?

Posted

技术标签:

【中文标题】如何从 Liferay 7 取消部署 portlet?【英文标题】:How to undeploy a portlet from Liferay 7? 【发布时间】:2017-08-19 22:23:02 【问题描述】:

我正在学习如何在 Liferay 7 CE GA 3 门户平台上创建 portlet。

为此,我按照 liferay 站点中提供的教程使用 maven、gradle 创建了几个测试 portlet。

但是现在,我需要从服务器中删除这些 portlet。每当我启动 Liferay 包中提供的 tomcat 服务器时,那些以前部署的 portlet 就会出现在网页上。我已经尝试过,但我找不到部署在 tomcat 中的战争文件,以便删除它们。

我尝试删除 liferay 工作目录中的 portlets 文件夹并清除临时目录,但没有帮助。

PS:我通过将war文件复制到liferay捆绑包的“部署”目录来手动部署portlet。

【问题讨论】:

你使用哪个liferay版本? 【参考方案1】:

由于您没有说明您正在使用的 Liferay 版本:

在 6.x 中,您可以在应用服务器部署它们的任何位置找到 WAR 文件(或 Web 应用程序) - 例如。在tomcat/webapps。您只需要从 Tomcat(或您的应用服务器)中取消部署它们,它们也将从 Liferay 中取消部署。

在 7.0 和 DXP 中,这些文件将被部署到 OSGi 运行时,并且工件最终位于 Liferay 的 /osgi/ 文件夹中,很可能是 /osgi/war - 或者如果您在 /osgi/modules 中打包为 JAR 包(否则搜索/osgi 子目录中的已知文件名

【讨论】:

您好奥拉夫考克,感谢您的回复。我使用的 liferay 版本是:liferay-ce-portal-7.0-ga3。我尝试在 osgi 文件夹中搜索,但没有找到该 portlet 的结果。我还尝试在完整包中搜索,在“Catalina”文件夹中找到了一些结果。我删除了文件夹(Catalina)并重新启动了服务器,但仍然没有成功。【参考方案2】:

我正在使用与 tomcat 8 捆绑的 Liferay 7.0 DXP。

我尝试使用管理员凭据从控制面板中删除/停用已部署的模块。在那种情况下,这对我有用,但是如果我再次重新启动服务器,这些模块将在服务器启动时部署。

以下解决方案适用于上述配置。

LIFERAY_HOME/osgi/modules -- jar 模块

LIFERAY_HOME/osgi/war -- 战争模块

LIFERAY_HOME/osgi/marketplace -- 从 Liferay 的 Marketplace 下载的任何 .lpkg 文件

【讨论】:

【参考方案3】:

转到 Liferay 控制面板 -> 应用程序管理器 -> 搜索“您的 portlet”,然后在 Liferay 7.4 中卸载

【讨论】:

以上是关于如何从 Liferay 7 取消部署 portlet?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jboss 7.1.1 中使用 liferay 6.1.2 中的 jboss 部署 structure.xml?

liferay 7 - 如何从默认的 liferay 徽标更改为公司徽标?

如何在 Liferay 7.0 中替换登录 portlet?

如何修复 Liferay 7.4.2 中禁止的 URL 重定向?

以编程方式获取在 Liferay 7.2 中部署的 Portlet 列表

Liferay 7.1.3 GA4 自定义 Portlet 与番石榴依赖于部署:灾难性初始化失败! TypeNotPresentExceptionProxy