【问题标题】:How to undeploy a portlet from Liferay 7?如何从 Liferay 7 取消部署 portlet?
【发布时间】: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版本?

标签: maven tomcat portlet liferay-7 spring-portlet-mvc


【解决方案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 中卸载

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多