Foren

MyFaces Portlat thows HotDeployException Error registering portlets

caio marcelo formiga, geändert vor 14 Jahren.

MyFaces Portlat thows HotDeployException Error registering portlets

New Member Beiträge: 7 Beitrittsdatum: 05.11.09 Neueste Beiträge
Hello fellows,

I need help to solve a issue. I`m trying to develop a very simple MyFacesPortlet and after use liferay plugin sdk and follow the given instructions at myfaces wiki, I can`t go forward cause a HotDeployException. Bellow follows the exception`s stacktrace:

11:09:07,320 ERROR [HotDeployUtil:111] com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for JSFPortlet
com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for JSFPortlet
        at com.liferay.portal.deploy.hot.BaseHotDeployListener.throwHotDeployException(BaseHotDeployListener.java:58)
        at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:130)
        at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
        at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
        at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
        at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
        at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
        at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1217)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.VerifyError: Cannot inherit from final class
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
        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 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
        at java.lang.Class.getConstructor0(Class.java:2699)
        at java.lang.Class.getConstructor(Class.java:1657)
        at javax.faces.FactoryFinder.newFactoryInstance(FactoryFinder.java:140)
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:107)
        at org.apache.myfaces.portlet.MyFacesGenericPortlet.init(MyFacesGenericPortlet.java:111)
        at javax.portlet.GenericPortlet.init(GenericPortlet.java:107)
        at com.liferay.portlet.InvokerPortletImpl.init(InvokerPortletImpl.java:250)
        at com.liferay.portlet.PortletInstanceFactoryImpl.init(PortletInstanceFactoryImpl.java:245)
        at com.liferay.portlet.PortletInstanceFactoryImpl.create(PortletInstanceFactoryImpl.java:135)
        at com.liferay.portlet.PortletInstanceFactoryUtil.create(PortletInstanceFactoryUtil.java:47)
        at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:660)
        at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
        at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
        ... 22 more



This is my original portle.xml file:

<portlet>
		<portlet-name>JSFPortlet</portlet-name>				
		<display-name>Portlet sample Using Java Server Faces(MyFaces Impl)</display-name>				
		<portlet-class>org.apache.myfaces.portlet.MyFacesGenericPortlet</portlet-class>
				
		<init-param>
   			<name>default-view</name>
   			<value>/welcome.faces</value>
		</init-param>
			
		<expiration-cache>0</expiration-cache>
		
		<supports>
			<mime-type>text/html</mime-type>
			<portlet-mode>VIEW</portlet-mode>
			<portlet-mode>EDIT</portlet-mode>
			<portlet-mode>HELP</portlet-mode>
		</supports>
			
		<supported-locale>en</supported-locale>
   		<supported-locale>pt</supported-locale>
		
		<resource-bundle>com.vsoftcorp.tutorial.bundle.CommonMessages</resource-bundle>								           
                    
		<portlet-info>
			<title>Portlet sample Using Java Server Faces(MyFaces Impl)</title>
			<short-title>Portlet sample Using JSF</short-title>
			<keywords>Portlet sample JSF MyFaces</keywords>
		</portlet-info>
		
		<security-role-ref>
			<role-name>administrator</role-name>
		</security-role-ref>
		<security-role-ref>
			<role-name>guest</role-name>
		</security-role-ref>
		<security-role-ref>
			<role-name>power-user</role-name>
		</security-role-ref>
		<security-role-ref>
			<role-name>user</role-name>
		</security-role-ref>
	</portlet>



I extended the org.apache.myfaces.portlet.MyFacesGenericPortlet class and created a MyFacesPortlet and then set this class as portlet-class inside portlet.xml and then the HotDeployException disappear. Why I can`t use the MyFacesGenericPortlet available at myfaes-impl.jar? or Maybe the question is: What I`m doing wrong?



I keep with my goal develop a very simple MyFacesPortlet, I decided to use this extended class MyFacesGenericPortlet, and now I can add my portlet to the portal main page (http://localhost:8080/web/guest) but when my portlet is rendered just part of my JSP is generated and Liferay dosen`t throw exception. This is my welcome.jsp page (a value of init-param default-view defined inside portlet.xml file):

<div xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:portlet="http://java.sun.com/portlet_2_0">	   
<f:view>
    <portlet:defineobjects />
       
    <f:loadbundle basename="src.com.vsoftcorp.tutorial.bundle.CommonMessages" var="msg" />
    
       ===============&gt; Begin Rendered Area(only this exactly like this "#{msg.tt}" is rendered at main portal)   &lt; ===============
        <h1>#{msg.tt}</h1>   	 
       ===============&gt; End Rendered Area(only this exactly like this "#{msg.tt}" is rendered at main portal)   &lt; ===============

	<f:form id="helloForm">
		<h:outputtext value="#{msg.lbName}" />
		<h:inputtext value="#{personBean.personName}" />
		<h:commandbutton action="sayHelloAction" value="#{msg.btHello}" />
	</f:form>
</f:view>
</div>




Best Regards

Caio Formiga
thumbnail
Lisa Simpson, geändert vor 14 Jahren.

RE: MyFaces Portlat thows HotDeployException Error registering portlets

Liferay Legend Beiträge: 2034 Beitrittsdatum: 05.03.09 Neueste Beiträge
You might want to post this in "Development" since it involves writing code.
thumbnail
Michelle Kawaye, geändert vor 14 Jahren.

Thread Moved

Junior Member Beiträge: 61 Beitrittsdatum: 22.07.08 Neueste Beiträge
Thread Moved: Third Party Application Integration
caio marcelo formiga, geändert vor 14 Jahren.

RE: Thread Moved

New Member Beiträge: 7 Beitrittsdatum: 05.11.09 Neueste Beiträge
Thank you Michele and Lisa to "put" my thread in the correctly place.

How about this issue, you girl hasn't even a little tip to help me?