我使用Liferay 6和Struts2的组合。 我正在使用Liferay捆绑的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.
服务器在此行之后需要花费大量时间
答案 0 :(得分:3)
在最新版本中,JRebel包含了一些Liferay特定的集成,因此它现在可以更加流畅地工作 http://www.liferay.com/community/projects/jrebel/overview
答案 1 :(得分:1)
没有其他方法可以将portlet.xml,liferay-portlet.xml和其他部署描述符中的更改传播到门户中,而不是实际重新部署应用程序(如您所述,这需要很长时间)。
但是,使用JSP可以实现这一点 - 设置开发人员属性,重新加载后立即可以看到更改。
还有一个名为jRebel的工具可以对java类和框架配置执行相同的操作。与春季和春季mvc无缝协作。 Struts也列在支持的框架中,所以它也应该工作。正确设置后,方案如下:
更改java文件 ctrl + s保存和编译文件(你的IDE必须支持这个) 重新加载浏览器(jrebel自动选择类文件中的更改并立即重新加载)。
不幸的是,jRebel不是免费的。
如果您有大量的portlet,那么将它们拆分为更多的Web应用程序可能会有所帮助。这通常会减少重新部署所需的时间。
希望有所帮助......
答案 2 :(得分:1)
删除应用程序未使用的过滤器。在portal-properties中初始化了超过25个过滤器。