Liferay Portlets部署

时间:2017-11-03 14:47:38

标签: java liferay war liferay-6.2

下午好。

我正在从WebSphere迁移到Liferay 6.2 CE。

到目前为止,我可以将主项目导出到WAR文件,并将其导入Liferay。

真正的问题出现在开发环境中......

当对项目进行更改时,部署过程非常耗时。 必须排除以前的portlet,并使用编译的更改安装新的portlet。

是否有更简单的方式来部署项目,直接有Liferay Portlet? 比如,单击按钮或运行命令,并将其立即部署到Liferay的服务器。

最好的问候。

1 个答案:

答案 0 :(得分:1)

构建和部署自动化

Liferay 6.2 portlet开发支持Ant,Ivy和Maven构建自动化。我们的开发人员通常使用Liferay 6.2标准的Ant构建脚本,我们使用Jenkins自动部署到各种测试和生产服务器。

然而,即使使用上述工具,6.2中的构建也可能很乏味且非常耗时。随着OSGi模块的引入,DXP中大部分都消除了这个问题,但6.2中不支持这些OSGi模块。

虽然Liferay没有提供开箱即用的解决方案,但有一个工具高于其他工具,它大大减少了我们在6.2中的构建和部署时间

JRebel的

JRebel是Java EE开发的绝佳产品,在Liferay平台上特别有用并且得到了支持。基本上,JRebel是一个工具,允许您保存对代码的更改并立即查看这些更改,而无需运行任何Ant目标或移动任何war文件。

JRebel不是免费产品(每个许可证每年花费500美元)但如果您用于非商业项目,则可以获得免费副本(具有100%的功能)。获得许可证只需搜索"我的JRebel"并注册一个帐户。

JRebel for Liferay

JRebel可以非常轻松地与Liferay集成,Liferay博客上有一些关于配置的文档。但是,我上次检查博客文章时概述了不再支持的旧配置方式(或者至少没有首选)。因此,我将简要介绍使用Liferay配置JRebel所需的步骤。

配置

  

在通过My JRebel获得免费许可证或购买许可证密钥(如果这是商业项目)后,请执行以下步骤。如果您正在公司招聘此工具,您肯定希望使用其许可证服务器

  1. 打开Liferay Development Studio(或安装了Liferay插件的Eclipse IDE)并转到帮助> Eclipse市场。
  2. Eclipse Marketplace窗口加载搜索 JRebel 并完成下载和安装过程。
  3. 安装过程完成后(您的IDE已重新启动),请转到帮助> JRebel>活化。
  4. 您将拥有一个包含三个选项的窗口(激活码,许可证密钥,许可证服务器)。如果您使用的是My JRebel,则可能会有.lic文件。您将需要选择该选项并在系统上找到该文件。如果您在企业设置中使用此功能,我强烈建议您使用许可证服务器。如果没有列出方向,因为它在其他地方概述,并且完全不是Liferay特有的。
  5. 一旦激活JRebel,您现在应该在右上角看到JRebel配置透视图
  6. enter image description here

    1. 单击透视图,导航到启动选项卡,然后选择以下配置
    2. enter image description here

      1. 然后导航到项目选项卡,并选择要应用JRebel的所有portlet。除非您正在运行某种类型的容器环境(您未指定),否则只选择第一个框。
      2. enter image description here

        1. 然后在Eclipse菜单中选择Project>自动构建
        2. 测试您的配置

          有一些迹象表明您的配置正在运行。首先,在您的项目源文件夹中,您应该看到一个rebel.xml配置文件。

          enter image description here

          如果您看到该文件,则可以启动服务器。启动服务器后,您将立即在catalina日志文件的顶部写下一些新行。

          enter image description here

          此外,在Tomcat的临时文件夹中,您应该看到一个新的JRebel目录。

          enter image description here

          门户网站加载后,对其中一个Java文件进行更改。在Catalina控制台中,您应该看到一个新打印的行,其中包含您刚修改的类的完全限定名称。检查您的更改是否已生效!

          问题

          如果您在此过程的任何部分遇到问题,您可能需要注意一些事项。如果您收到任何permgen错误,则可能需要修改服务器配置面板中与内存相关的JVM标志。此外,在同一位置,您可能需要切换自动发布设置。此外,我一直遇到问题,JRebel无法在服务构建器生成的ORM文件中使用方法签名。如果我在这些类中添加一个新方法,JRebel就不会选择它。如果我在这些类中的一个方法中添加或修改参数的类型,JRebel就不会选择它。对于localserviceimpl和serviceimpls中的代码的更改在所有其他方面似乎都很好,并且每个其他类在JRebel中都能正常工作。 ZeroTurnAround的工程师发誓它与Service Builder完美配合,但我在上述案例中没有取得成功。