Cache class problem with Liferay Portlet

Hello,

I am developping portlet “Address Book” in which I did several modifications. Therefore the class are cached anywhere ???

I can clean all clean, rebuild the war, delete the war already deployed into deploy, temp… and my classes are always cached :frowning:

If someone has an idea ?

Thank a lot for my stupid problem.

Best regards,

Greetings,

I’ve developed a vaadin portlet for liferay 6.0.5 (Jboss bundle)
the real problem is based on a method that is included in Vaadin api
(im using vaadin 6.3.4, wich is included in liferay portal by default).
if i change the vaadin jar in portal, in my portlet i must modify the use
of some methods.
in my portlet, i used vaadin 6.3.4 (for developing) and the war file was
generated succesfully. but when deploying in liferay+jboss, the portlet
not appears.

example:

  • Method before change:
    PortletListener.handleRenderRequest(render_request,render_response,window)
    (based in vaadin 6.4.6 and newer)
  • Changed method
    PortletListener.handleRenderRequest(render_request,render_response)
    (based in vaadin 6.3.4)

Right now, im using in liferay portal vaadin 6.3.4, the same that i used for develop
my portlet, but now I cannot see the portlet in liferay 'cause an AbstractMethodError.

trace:


15:31:25,109 INFO  [STDOUT]
 15:31:25,107 ERROR [jsp:154]
 java.lang.AbstractMethodError: 
<MyVaadinApplicationClass>$CustomPortletListener.handleRenderRequest(Ljavax/portlet/RenderRequest;Ljavax/portlet/RenderResponse;Lcom/vaadin/ui/Window;)V
	at com.vaadin.terminal.gwt.server.PortletApplicationContext2.firePortletRenderRequest(PortletApplicationContext2.java:162)
	at com.vaadin.terminal.gwt.server.AbstractApplicationPortlet.handleRequest(AbstractApplicationPortlet.java:433)
	at com.vaadin.terminal.gwt.server.AbstractApplicationPortlet.doDispatch(AbstractApplicationPortlet.java:713)
	at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
	at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:101)
	at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
	at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:92)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:543)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:480)
	at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:638)
	at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:723)
	at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:425)
	at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1442)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)

So to check, you are using the exact same version of the Vaadin JAR in your portlet development as what is installed in the deployment environment?

While it is hard to say for certain what is wrong, I would guess that you have two different copies of the Vaadin JAR in your deployment environment - perhaps one on the portal level and one included in your portlet (or deployed with it sometime in the past).

When there is a shared Vaadin JAR on the portal, you should refer to it in your development environment classpath and liferay-plugin-package.properties, but not deploy it with your portlet. In practice, this usually means having the JAR on the classpath of your project in your development environment but not in WEB-INF/lib.

If you have once deployed a Vaadin JAR on the portal, the portal does not remove the “old” copy when redeploying. Instead, it might be recopied from a temporary directory on the portal to the portlet deployment directory. Try cleaning the working directories, removing the old copy.

Thanks… it worked.

part of the solution was copying the same version of Vaadin lib and themes (that are include in vaadin binary download) into liferay portal. for portlet, iits developed using eclipse and vaadin plugin, then deployed to liferay…