Liferay IDE portlet 更改未在服务器上同步

Liferay IDE portlet changes not synchronized on the server

平台

问题

我们 运行 间歇性地遇到 Liferay IDE 的问题,其中 portlet java class 更改确实显示在 Tomcat 服务器上。

设置如下:

有没有人看到这种行为?

上述问题发生在我的几个团队成员的本地 Liferay 环境中。

我已经按照以下步骤解决了这个问题:

  • 通过从 Tomcat home/webapps/ 文件夹中删除 portlet 来取消部署 portlet
  • 停止 Tomcat 服务器 Liferay IDE
  • 清理 Tomcat home/tmp/ 文件夹下与相关 portlet 相关的临时文件夹
  • 通过 Liferay 启动 tomcat 服务器 IDE
  • 将 portlet 部署到 Tomcat 服务器

发布同步过程似乎在这些步骤之后开始工作。

不知道有没有更好的解决办法

希望这对某人有所帮助。

我正在使用相似平台

  • Liferay 6.2 EE Tomcat 捆绑包
  • Liferay 开发人员工作室 2.2.2
  • Liferay 6.2 SDK
  • JDK 7
  • Windows10

至 "synchronize" IDE 与本地服务器的更改与部署 portlet 的方式有关。

虽然这些最初的步骤并不是明确必要的——我强烈建议它们保持一致

清理本地环境的第一步

  1. 停止本地服务器
  2. 右键单击服务器并清理
  3. 清空你的 webapps 文件夹只留下 root
  4. 清空你的 temp 文件夹
  5. 从 tomcat-X.x.x/work/Catalina/localhost 中删除除 _
  6. 之外的所有文件和目录

接下来双击本地服务器实例打开本地服务器设置。在右上角,您应该会看到 publishing 折叠。点击展开select以下选项

  • 资源变化时自动发布
  • 更新上下文路径

Liferay 设置 折叠(左下角)下,您应该有以下设置 selected

  • 开发(portal-developer.properties)

启用开发人员模式 关闭某些缓存选项,这些选项在标准模式下运行时默认为 true。 尽管有官方文档,但它并没有消除 "to redeploy to see your portal modifications".

的需要

不是直接从 ANT 部署,而是右键单击您的服务器 -> 添加 -> 然后 select 您想要的 portlet

这会使用您的 portlet 在 webapps 中创建一个目录,类似于 ANT 直接部署 - 这是自动发布的唯一方式。