Message Boards

Error adding multiple JSF Portlets in a single page

Alex Pasquini, modified 4 Years ago.

Error adding multiple JSF Portlets in a single page

Junior Member Posts: 38 Join Date: 3/3/20 Recent Posts
Hi all,

I'm developing an application on Liferay CE 7.3 ga1, by using JSF+Primefaces portlet built on a Liferay Workspace.
When I configure a page with one single portlet, it works fine.
When I add multiple portlets, I can see correctly the first one, the others display the message below:

this is the log I get from the webpage (on console I have no log):
[code]java.lang.NoSuchMethodError: com.liferay.portal.kernel.servlet.taglib.util.OutputData.getData(Ljava/lang/String;Ljava/lang/String;)Lcom/liferay/portal/kernel/util/StringBundler;
	at com.liferay.faces.bridge.ext.event.internal.LiferayPageTopPhaseListenerCompat.getPageTop(LiferayPageTopPhaseListenerCompat.java:103)
	at com.liferay.faces.bridge.ext.event.internal.LiferayPageTopPhaseListenerCompat.beforePhase(LiferayPageTopPhaseListenerCompat.java:83)
	at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
	at com.liferay.faces.bridge.internal.BridgePhaseHeaderRenderCommon.executeRender(BridgePhaseHeaderRenderCommon.java:253)
	at com.liferay.faces.bridge.internal.BridgePhaseRenderCompatImpl.execute(BridgePhaseRenderCompatImpl.java:57)
	at com.liferay.faces.bridge.internal.BridgePhaseRenderImpl.execute(BridgePhaseRenderImpl.java:57)
	at com.liferay.faces.bridge.internal.BridgeImpl.doFacesRequest(BridgeImpl.java:157)
	at javax.portlet.faces.GenericFacesPortlet.doView(GenericFacesPortlet.java:753)
	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:397)
	at javax.portlet.faces.GenericFacesPortlet.doDispatch(GenericFacesPortlet.java:669)
	at javax.portlet.GenericPortlet.render(GenericPortlet.java:291)
	at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:127)
	at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:58)
	at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:124)
	at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:71)
	at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:115)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at com.liferay.portal.osgi.web.wab.extender.internal.adapter.AsyncAttributeAdapterServlet.service(AsyncAttributeAdapterServlet.java:85)
	at com.liferay.portal.osgi.web.wab.extender.internal.adapter.ServletExceptionAdapter.service(ServletExceptionAdapter.java:76)
	at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
	at org.eclipse.equinox.http.servlet.internal.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:50)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:124)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:104)
	at com.liferay.portal.osgi.web.wab.extender.internal.adapter.FilterExceptionAdapter.doFilter(FilterExceptionAdapter.java:46)
	at org.eclipse.equinox.http.servlet.internal.registration.FilterRegistration.doFilter(FilterRegistration.java:121)
	at org.eclipse.equinox.http.servlet.internal.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:45)
	at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:70)
	at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:120)
	at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)
	at com.liferay.portlet.internal.InvokerPortletImpl.invoke(InvokerPortletImpl.java:571)
	at com.liferay.portlet.internal.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:661)
	at com.liferay.portlet.internal.InvokerPortletImpl.render(InvokerPortletImpl.java:344)
	at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.lambda$render$0(MonitoringInvokerPortlet.java:259)
	at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet$$Lambda$9684/1642491374.render(Unknown Source)
	at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet._render(MonitoringInvokerPortlet.java:363)
	at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.render(MonitoringInvokerPortlet.java:257)
	at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(Unknown Source)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at com.liferay.portal.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:64)
	at com.liferay.portal.servlet.DirectRequestDispatcherFactoryImpl$IndirectRequestDispatcher.include(DirectRequestDispatcherFactoryImpl.java:190)
	at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:79)
	at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53)
	at com.liferay.portal.servlet.TransferHeadersHelperImpl$TransferHeadersRequestDispatcher.include(TransferHeadersHelperImpl.java:162)
	at com.liferay.portlet.internal.PortletContainerImpl._render(PortletContainerImpl.java:908)
	at com.liferay.portlet.internal.PortletContainerImpl.lambda$render$2(PortletContainerImpl.java:223)
	at com.liferay.portlet.internal.PortletContainerImpl$$Lambda$9678/423067727.get(Unknown Source)
	at com.liferay.portlet.internal.PortletContainerImpl._preserveGroupIds(PortletContainerImpl.java:425)
	at com.liferay.portlet.internal.PortletContainerImpl.render(PortletContainerImpl.java:211)
	at com.liferay.portlet.SecurityPortletContainerWrapper.render(SecurityPortletContainerWrapper.java:145)
	at com.liferay.portlet.RestrictPortletContainerWrapper.lambda$render$0(RestrictPortletContainerWrapper.java:128)
	at com.liferay.portlet.RestrictPortletContainerWrapper$$Lambda$9677/134202003.render(Unknown Source)
	at com.liferay.portlet.RestrictPortletContainerWrapper._render(RestrictPortletContainerWrapper.java:189)
	at com.liferay.portlet.RestrictPortletContainerWrapper.render(RestrictPortletContainerWrapper.java:126)
	at com.liferay.portal.kernel.portlet.PortletContainerUtil.render(PortletContainerUtil.java:215)
	at com.liferay.portal.layoutconfiguration.util.PortletRenderer._render(PortletRenderer.java:209)
	at com.liferay.portal.layoutconfiguration.util.PortletRenderer.render(PortletRenderer.java:87)
	at com.liferay.portal.layoutconfiguration.util.RuntimePageImpl.doProcessTemplate(RuntimePageImpl.java:593)
	at com.liferay.portal.layoutconfiguration.util.RuntimePageImpl.doDispatch(RuntimePageImpl.java:359)
	at com.liferay.portal.layoutconfiguration.util.RuntimePageImpl.processTemplate(RuntimePageImpl.java:160)
	at com.liferay.portal.layoutconfiguration.util.RuntimePageImpl.processTemplate(RuntimePageImpl.java:185)
	at com.liferay.portal.kernel.layoutconfiguration.util.RuntimePageUtil.processTemplate(RuntimePageUtil.java:105)
	at org.apache.jsp.html.portal.layout.view.portlet_jsp._jspService(Unknown Source)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at com.liferay.portal.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:64)
	at com.liferay.portal.servlet.DirectRequestDispatcherFactoryImpl$IndirectRequestDispatcher.include(DirectRequestDispatcherFactoryImpl.java:190)
	at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:79)
	at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53)
	at com.liferay.portal.servlet.TransferHeadersHelperImpl$TransferHeadersRequestDispatcher.include(TransferHeadersHelperImpl.java:162)
	at com.liferay.portal.model.impl.LayoutTypeControllerImpl.includeLayoutContent(LayoutTypeControllerImpl.java:166)
	at com.liferay.portal.model.impl.LayoutImpl.includeLayoutContent(LayoutImpl.java:890)
	at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:413)
	at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:170)
	at com.liferay.portal.struts.PortalRequestProcessor._process(PortalRequestProcessor.java:415)
	at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:155)
	at com.liferay.portal.internal.servlet.MainServlet.doGet(MainServlet.java:205)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
	at com.liferay.portal.internal.servlet.MainServlet.service(MainServlet.java:622)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:124)
	at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:62)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
	at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:340)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
	at com.liferay.portal.monitoring.internal.servlet.filter.MonitoringFilter.processFilter(MonitoringFilter.java:183)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:104)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
	at com.liferay.friendly.url.internal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:409)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at com.liferay.portal.servlet.ServletAdapter.service(ServletAdapter.java:99)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:124)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
	at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:368)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:62)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
	at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:340)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
	at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:264)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
	at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:88)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
	at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:249)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
	at com.liferay.portal.monitoring.internal.servlet.filter.MonitoringFilter.processFilter(MonitoringFilter.java:183)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:196)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:196)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)
	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
	at com.liferay.portal.servlet.filters.urlrewrite.UrlRewriteFilter.processFilter(UrlRewriteFilter.java:65)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:175)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:175)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:196)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:104)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
The follwing is my pom.xml
<!--?xml version="1.0" encoding="UTF-8"?-->
<project xmlns="http://maven.apache.org/POM/4.0.0"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
&nbsp;&nbsp; &nbsp;<modelversion>4.0.0</modelversion>
&nbsp;&nbsp; &nbsp;<parent>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>cloud-simposium-wars</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>cloud.simposium</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>1.0.0</version>
&nbsp;&nbsp; &nbsp;</parent>
&nbsp;&nbsp; &nbsp;<groupid>simposium-presentation-input</groupid>
&nbsp;&nbsp; &nbsp;<artifactid>simposium-presentation-input</artifactid>
&nbsp;&nbsp; &nbsp;<packaging>war</packaging>
&nbsp;&nbsp; &nbsp;<name>simposium-presentation-input</name>
&nbsp;&nbsp; &nbsp;<version>1.0.0</version>
&nbsp;&nbsp; &nbsp;<build>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<plugins>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<plugin>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>maven-compiler-plugin</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>3.3</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<configuration>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<encoding>UTF-8</encoding>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<source>1.8
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<target>1.8</target>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</configuration>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</plugin>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<plugin>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>maven-war-plugin</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>2.3</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<configuration>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<filteringdeploymentdescriptors>true</filteringdeploymentdescriptors>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</configuration>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</plugin>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</plugins>
&nbsp;&nbsp; &nbsp;</build>
&nbsp;&nbsp; &nbsp;<dependencies>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>javax.faces</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>javax.faces-api</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>2.2</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<scope>provided</scope>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>org.glassfish</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>javax.faces</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>2.2.20</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<scope>runtime</scope>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>com.liferay.faces</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>com.liferay.faces.bridge.ext</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>5.0.5</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<scope>runtime</scope>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>com.liferay.faces</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>com.liferay.faces.bridge.impl</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>4.1.4</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<scope>runtime</scope>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>log4j</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>log4j</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>1.2.14</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>org.primefaces</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>primefaces</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>7.0</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<!-- IMPORTED -->
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>com.liferay.portal</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>com.liferay.portal.kernel</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>5.4.0</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<scope>provided</scope>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>javax.portlet</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>portlet-api</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>3.0.0</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<scope>provided</scope>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>javax.servlet</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>javax.servlet-api</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>3.0.1</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<scope>provided</scope>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>org.osgi</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>org.osgi.util.tracker</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>1.5.2</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<scope>provided</scope>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>org.osgi</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>org.osgi.core</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>6.0.0</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<scope>provided</scope>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<!-- FONT-AWESOME -->
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<dependency>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<groupid>org.webjars</groupid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<artifactid>font-awesome</artifactid>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<version>5.12.0</version>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</dependency>
&nbsp;&nbsp; &nbsp;</dependencies>
</project>
Please, can you help me to know if I'm missing something?
Thank you.
Best regards,

Alex
Alex Pasquini, modified 4 Years ago.

RE: Error adding multiple JSF Portlets in a single page

Junior Member Posts: 38 Join Date: 3/3/20 Recent Posts
I've seen that removing the tags <h:head> and <h:body> from my view.xhtml files, I'm able to show multiple jsf portlet in the same page, anyway css and js are not enabled. In particular I'm using primefaces and the resources related to this UI Framework are not loaded.
If it's correct to remove the previous tags, how can I enable the use of css and js reources?
Thank you.
Best regards,

Alex
thumbnail
Neil Griffin, modified 4 Years ago.

RE: Error adding multiple JSF Portlets in a single page

Liferay Legend Posts: 2655 Join Date: 7/27/05 Recent Posts
Hi Alex,
The <h:head/> and <h:body>...</h:body> component tags are required for JSF portlets to work correctly. It is incorrect (not correct) to remove them.The <h:head/> tag informs Liferay Faces Bridge that there are JSF resources (like PrimeFaces jquery.js) that need to be added to the <head>...</head> section of the portal page.The <h:body>...</h:body> tag informs Liferay Faces Bridge that it must render an outer-most <div> that contains the rendered portlet markup.Kind Regards,Neil
Alex Pasquini, modified 4 Years ago.

RE: Error adding multiple JSF Portlets in a single page

Junior Member Posts: 38 Join Date: 3/3/20 Recent Posts
Hi Neil,Thank you for the answer. I've understood the state of art.
However, how can I add two jsf portlets in the same page? I'm experiencing the above error even if I try to add two skeleton portlets generated from JSF archetype in the same page.Is it a Liferay bug? If so, how can I handle it?
Thank you.
Alex Pasquini, modified 4 Years ago.

RE: Error adding multiple JSF Portlets in a single page

Junior Member Posts: 38 Join Date: 3/3/20 Recent Posts
<p>Well, with the new com.liferay.faces.bridge.ext:6.0.0 seems two portlets can work together in the same page.</p>

<p>Thank you.</p>

<p>Best wishes,</p>

<p>&nbsp;</p>

<p>Alex</p>
thumbnail
Neil Griffin, modified 4 Years ago.

RE: Error adding multiple JSF Portlets in a single page

Liferay Legend Posts: 2655 Join Date: 7/27/05 Recent Posts
Hi Alex,
Given what you've posted so far, I realize that what I'm about to write is already known by you, but I just wanted to point out some details for members of the community that might come across this thread.

In April 20, 2020 (yesterday) we released JSF portlet archetypes that are designed for use with Liferay Portal CE 7.3:
    https://www.liferayfaces.org

If you look at the "Dependencies for Liferay Portal 7.3 + JSF 2.2" part of that page, you'll see the following dependency:
	<dependency>
		<groupid>com.liferay.faces</groupid>
		<artifactid>com.liferay.faces.bridge.ext</artifactid>
		<version>6.0.0</version>
		<scope>runtime</scope>
	</dependency>

We've also updated the Liferay Faces Version Scheme so that com.liferay.faces.bridge.ext-6.0.0.jar now targets Liferay Portal CE / DXP 7.3+

I'm glad to learn that com.liferay.faces.bridge.ext-6.0.0.jar fixed the problem you encountered with multiple JSF portlets on the same page. You were ahead of many in our community using Liferay Faces with Liferay Portal CE 7.3 and we've all benefitted from your communications here.


As always, thanks for using Liferay Faces emoticon


Neil