(SOLVED) Liferay-portlet with vaadin

  1. I have created a portlet following these steps:

    http://vaadin.com/web/sami/liferay

  2. Portlet is correctly deployed:
    14:56:22,666 INFO [PortletAutoDeployListener:87]
    Portlets for /opt/deploy/v2.war copied successfully. Deployment will start in a few seconds.
    14:56:27,164 INFO [PortletHotDeployListener:227]
    Registering portlets for v2
    14:56:27,365 INFO [PortletHotDeployListener:346]
    1 portlet for v2 is available for use

  3. but a log tomcat message appears:
    aadin is running in DEBUG MODE.
    Add productionMode=true to web.xml to disable debug features.
    To show debug window, add ?debug to your application URL.
    =================================================================
    14:56:39,229 ERROR [PortletRequestDispatcherImpl:316]
    javax.servlet.ServletException: Servlet.init() para servlet V2 Application lanzó excepción
    javax.servlet.ServletException: Servlet.init() para servlet V2 Application lanzó excepción
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1214)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:615)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    at com.liferay.portlet.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:307)
    at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:122)
    at com.vaadin.terminal.gwt.server.ApplicationPortlet.writeAjaxWindow(ApplicationPortlet.java:177)
    at com.vaadin.terminal.gwt.server.ApplicationPortlet.render(ApplicationPortlet.java:68)
    at com.sun.portal.portletcontainer.appengine.filter.FilterChainImpl.doFilter(FilterChainImpl.java:126)
    at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:69)
    at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:100)
    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:646)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:618)
    at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:700)
    at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:419)
    at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1467)
    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:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    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:646)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:2884)
    at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:897)
    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:170)
    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:103)
    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:281)
    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:190)
    Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file (no puedo cargar clase com.example.v2.V2Application)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1854)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    at com.vaadin.terminal.gwt.server.ApplicationServlet.init(ApplicationServlet.java:68)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
    … 142 more

    I am new in Vaadin !

Thanks

I forgot these step:

  1. VAADIN directory in Vaadin zip distribution (in WebContent directory) must be copied to LIFERAY_HOME/tomcat-6.0.18/webapps/ROOT/html/

  2. Create LIFERAY_HOME/tomcat-6.0.18/webapps/ROOT/WEB-INF/classes/portal-ext.properties file with the contents.

  3. Copy the vaadin-6.1.x.jar to LIFERAY_HOME/tomcat-6.0.18/webapps/ROOT/WEB-INF/lib/vaadin.jar

    #/tomcat/start.sh

and now portlet in add application say: Portlet is temporarily unavailable, and i get the same log message !!!

It looks like you are compiling your portlet using JDK1.6 and running Liferay with JRE1.5 (the default with Liferay 5.2.3). Try to change your JDK to 1.5 and recompile your portlet.

SOLVED
Thanks !!!