3

我正在使用 Liferay 6 和 Struts2 的组合。我正在使用 Liferay Bundled Tomcat 7。它工作正常。我的问题是,每当资源(portlet.xml 或 java 文件)发生更改以及单击 build.xml 时,部署都会花费大量时间。请告诉我如何减少部署时间

INFO: Server startup in 60602 ms
14:04:00,328 INFO [AutoDeployDir:167] Processing HelloStruts2-portlet-6.0.6.1.war
14:04:00,375 INFO [PortletAutoDeployListener:71] Copying portlets for E:\liferaytomcat\liferay-portal-6.1.0-ce-b4\deploy\HelloStruts2-portlet-6.0.6.1.war
14:04:00,484 INFO [PortletAutoDeployListener:81] Portlets for E:\liferaytomcat\liferay-portal-6.1.0-ce-b4\deploy\HelloStruts2-portlet-6.0.6.1.war copied successfully. Deployment will start in a few seconds.

服务器在这条线之后需要很多时间

4

3 回答 3

3

在最新版本中,JRebel 包含了一些 Liferay 特定的集成,因此现在它的工作更加流畅 http://www.liferay.com/community/projects/jrebel/overview

于 2012-01-08T21:23:32.220 回答
1

删除您的应用程序未使用的过滤器。在门户属性中初始化了超过 25 个过滤器。

于 2012-02-15T13:39:47.567 回答
1

除了实际重新部署应用程序外,没有其他方法可以将 portlet.xml、liferay-portlet.xml 和其他部署描述符中的更改传播到门户中(正如您所描述的那样,这需要很长时间)。

但是,使用 JSP 可以做到这一点 - 设置开发人员属性,并且更改在重新加载后立即可见。

还有一个名为 jRebel 的工具可以对 java 类和框架配置做同样的事情。与 spring 和 spring mvc 无缝工作。Struts 也列在受支持的框架中,因此它也应该可以工作。正确设置后的场景如下:

更改 java 文件 ctrl + s 以保存和编译文件(您的 IDE 必须支持此功能)重新加载浏览器(jrebel 自动获取类文件中的更改并立即重新加载它们)。

不幸的是,jRebel 不是免费的。

如果您有大量的 portlet,那么将它们拆分为更多的 Web 应用程序可能会有所帮助。这通常会减少重新部署所需的时间。

希望能帮助到你..

于 2011-12-29T11:17:57.040 回答