Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: No Longer Reproducible
-
Affects Version/s: None
-
Fix Version/s: 6.0.6 GA
-
Component/s: Tools > Plugins SDK > Portlets
-
Labels:None
-
Similar Issues:
Description
Every day I update from trunk and recompile using ant all. This cleans out my Tomcat installation of everything Liferay, including plugins. After starting Liferay, I then deploy the plugins I'm working on.
After this deploy, portlet plugins show up normally, but as soon as you click on a button or anything in them, the following exception is thrown:
15:09:36,656 ERROR [jsp:157] java.lang.ClassNotFoundException: com.inkwell.internet.productregistration.registration.portlet.ProductRegistrationPortlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
at com.liferay.portal.kernel.util.MethodCache._get(MethodCache.java:106)
at com.liferay.portal.kernel.util.MethodCache.get(MethodCache.java:64)
at com.liferay.portal.kernel.util.MethodCache.get(MethodCache.java:58)
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:135)
at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:223)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:70)
at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:195)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:72)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:50)
at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:639)
at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:672)
at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:361)
at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:738)
at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:548)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:217)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:154)
After this, I redeploy the portlet, and everything works normally.
For themes, it's a similar issue but slightly different. When the theme is first deployed, it works fine. Then I get the above error with a portlet and redeploy the portlet. After I've redeployed the portlet, the theme becomes unavailable and Liferay displays an empty page and throws the following exception:
15:10:19,644 ERROR [ServletVelocityResourceListener:77] SERVLET_CONTEXT/html/themes/_unstyled/templates/init.vm is not valid because does not map to a servlet context
15:10:19,646 ERROR [velocity:151] ResourceManager : unable to find resource 'SERVLET_CONTEXT/html/themes/_unstyled/templates/init.vm' in any resource loader.
15:10:19,647 ERROR [velocity:151] #parse(): cannot find template 'SERVLET_CONTEXT/html/themes/unstyled/templates/init.vm', called at inkwell-internet-theme_SERVLET_CONTEXT/templates/portal_normal.vm[line 3, column 1]
15:10:19,647 ERROR [IncludeTag:229] Current URL /web/guest/home?p_auth=bO4yYXfh&p_p_auth=DZW2oGgY&p_p_id=productregistration_WAR_productregistrationportlet_INSTANCE_mWD5&p_p_lifecycle=1&p_p_state=maximized&p_p_mode=view&p_p_col_id=column-2&p_p_col_pos=1&p_p_col_count=2&productregistration_WAR_productregistrationportlet_INSTANCE_mWD5_javax.portlet.action=addRegistration generates exception: Unable to find resource '_SERVLET_CONTEXT/html/themes/_unstyled/templates/init.vm'
15:10:19,649 ERROR [IncludeTag:157] org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'SERVLET_CONTEXT/html/themes/_unstyled/templates/init.vm'
at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:483)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:354)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1400)
at org.apache.velocity.runtime.directive.Parse.render(Parse.java:198)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
at org.apache.velocity.Template.merge(Template.java:328)
at org.apache.velocity.Template.merge(Template.java:235)
at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381)
at com.liferay.portal.velocity.VelocityEngineImpl.mergeTemplate(VelocityEngineImpl.java:157)
at com.liferay.portal.velocity.VelocityEngineImpl.mergeTemplate(VelocityEngineImpl.java:167)
at com.liferay.portal.kernel.velocity.VelocityEngineUtil.mergeTemplate(VelocityEngineUtil.java:73)
at com.liferay.taglib.util.ThemeUtil.includeVM(ThemeUtil.java:317)
at com.liferay.taglib.util.ThemeUtil.include(ThemeUtil.java:74)
at com.liferay.taglib.theme.IncludeTag.include(IncludeTag.java:40)
at com.liferay.taglib.util.IncludeTag._doInclude(IncludeTag.java:221)
at com.liferay.taglib.util.IncludeTag.doEndTag(IncludeTag.java:60)
at org.apache.jsp.html.common.themes.portal_jsp._jspx_meth_liferay_002dtheme_005finclude_005f1(portal_jsp.java:828)
at org.apache.jsp.html.common.themes.portal_jsp._jspx_meth_c_005fotherwise_005f0(portal_jsp.java:800)
at org.apache.jsp.html.common.themes.portal_jsp._jspService(portal_jsp.java:736)
After redeploying the theme, everything works properly.
So it seems that upon restarting Liferay, plugins need to be deployed twice, which is not expected behavior.

Cloned
LPS-9618: this issue has not been corrected, I still experience it.