cancel
Showing results for 
Search instead for 
Did you mean: 

Liferay 4.3+Alfresco 2.1: MyFacesContextFactoryImpl problem

hbf
Champ on-the-rise
Champ on-the-rise
Hi,

I've followed http://wiki.alfresco.com/wiki/Deploying_2.1WAR_Liferay4.3 on a fresh Liferay4.3 install to get both Liferay and Alfresco running. Unfortunately, at startup, I get an error complaining that class com.liferay.util.bridges.jsf.myfaces.MyFacesContextFactoryImpl cannot be found:


15:58:01,387 INFO  [service.descriptor.DescriptorService] Alfresco started (Community Network): Current version 2.1.0 (482) schema 64 - Installed version 2.1.0 (482) schema 64
15:58:06,640 ERROR [[Catalina].[localhost].[/alfresco]] StandardWrapper.Throwable
javax.faces.FacesException: java.lang.ClassNotFoundException: com.liferay.util.bridges.jsf.myfaces.MyFacesContextFactoryImpl
        at javax.faces.FactoryFinder.newFactoryInstance(FactoryFinder.java:174)
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:110)
        at javax.faces.webapp.FacesServlet.init(FacesServlet.java:91)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.lang.ClassNotFoundException: com.liferay.util.bridges.jsf.myfaces.MyFacesContextFactoryImpl
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
        at javax.faces.FactoryFinder.newFactoryInstance(FactoryFinder.java:130)
        … 28 more
15:58:06,647 ERROR [[Catalina].[localhost].[/alfresco]] Servlet /alfresco threw load() exception
java.lang.ClassNotFoundException: com.liferay.util.bridges.jsf.myfaces.MyFacesContextFactoryImpl
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
        at javax.faces.FactoryFinder.newFactoryInstance(FactoryFinder.java:130)
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:110)
        at javax.faces.webapp.FacesServlet.init(FacesServlet.java:91)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Aug 17, 2007 3:58:09 PM org.apache.catalina.realm.JAASRealm setUseContextClassLoader
INFO: Setting useContextClassLoader = false
15:58:10,285 INFO  [[/tunnel-web]:647] Initializing Spring root WebApplicationContext
15:58:17,160 INFO  [[/tunnel-web]:647] Initializing Spring FrameworkServlet 'SpringServlet'
Aug 17, 2007 3:58:22 PM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Aug 17, 2007 3:58:22 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Aug 17, 2007 3:58:22 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/69  config=null
Aug 17, 2007 3:58:22 PM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Aug 17, 2007 3:58:23 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 130384 ms

A grep on the tomcat installation shows me:


hbf-laptop:/opt/liferay-portal-tomcat-5 root# grep -r MyFacesContextFactoryImpl *
alfresco.log:javax.faces.FacesException: java.lang.ClassNotFoundException: com.liferay.util.bridges.jsf.myfaces.MyFacesContextFactoryImpl
# MORE LOG FILES THAT MATCH…
Binary file temp/liferay/com/liferay/portal/deploy/dependencies/util-bridges.jar matches
webapps/alfresco/WEB-INF/faces-config.xml:              <faces-context-factory>com.liferay.util.bridges.jsf.myfaces.MyFacesContextFactoryImpl</faces-context-factory>
Binary file webapps/ROOT/WEB-INF/lib/util-bridges.jar matches
hbf-laptop:/opt/liferay-portal-tomcat-5 root#

To me this looks like there *is* indeed a class MyFacesContextFactoryImpl but not under com.alfresco… but com.liferay…!? Is this a bug or am I doing something wrong?

Many thanks for a hint,
Kaspar
13 REPLIES 13

lakmal
Champ in-the-making
Champ in-the-making
Hi,

I also tried as per instructions given in

http://wiki.alfresco.com/wiki/Deploying_2.1WAR_Liferay4.3

and I ended up with the same error. When faces-config.xml is not included in web.xml, alfresco starts and the web interface can be accessed via http://hostname/alfresco, but alfresco client or any other portlets  don't get registered with the liferay.

Any help on this is highly appreciated.

Regards,

Lakmal

kevinr
Star Contributor
Star Contributor
That's odd - during the deploy of the WAR file, Liferay should copy in the following file into webapps/alfresco/WEB-INF/lib/util-bridges.jar - does that file exist in your installation? There should also be 'util-java.jar' and  'util-taglib.jar' copied from Liferay.

Thanks,

Kevin

lakmal
Champ in-the-making
Champ in-the-making
Hi,

No, i can't find those files in there. I tried copying them from liferay  to lib directory  in alfresco and running the startup script, but still the same problem.  I even tried placing the inside the war file and then deploy, but no change. Also I noticed that when I include the faces-config.xml file i'm getting this error.  When that happens I can't even see the alfreso interface outside of liferay, but without that file, the i can access alfresco from outside. Any ideas?

Regards,

Lakmal


Failure during rollback: org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap$1@1a0b39b
Caused by:
org.alfresco.error.AlfrescoRuntimeException: Failure during rollback: org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap$1@1a0b39b
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:281)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:155)
   at org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap.bootstrap(DictionaryRepositoryBootstrap.java:134)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1160)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1122)

kevinr
Star Contributor
Star Contributor
When you followed the steps on the wiki, you dropped the alfresco.war into your Liferay deploy dir and Liferay sucessfully processed it and created the exploded (and modified) liferay\webapps\alfresco dir? I'm not sure why it has not copied those JAR files over during deploy - there are other modifications it makes to the web.xml file during deploy also - they are also needed which is probably why it's not working. It's almost like it's not making those mods…

Thanks,

Kevin

lakmal
Champ in-the-making
Champ in-the-making
Hi Kevin,

Yes the alfresco directory is exploded within the webapps folder, and also the alf_data directory within the bin directory. I don't know however what components are missing further. I tried to deploy the war file within the liferay portal… Then I'm getting the following error. I don't know why it's getting black listed..

Regards,

Lakmal


14:30:44,578 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Processing DEPLOY_TO__alfresco.war
14:30:47,984 ERROR [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Auto deploy failed to remove DEPLOY_TO__alfresco.war
14:30:47,984 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Add DEPLOY_TO__alfresco.war to the blacklist
14:30:57,984 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Skip processing of DEPLOY_TO__alfresco.war because it is blacklisted. You must restart the server to remove the file from the blacklist.
14:31:08,000 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Skip processing of DEPLOY_TO__alfresco.war because it is blacklisted. You must restart the server to remove the file from the blacklist.
14:31:18,000 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Skip processing of DEPLOY_TO__alfresco.war because it is blacklisted. You must restart the server to remove the file from the blacklist.
14:31:28,000 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Skip processing of DEPLOY_TO__alfresco.war because it is blacklisted. You must restart the server to remove the file from the blacklist.
14:31:38,000 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Skip processing of DEPLOY_TO__alfresco.war because it is blacklisted. You must restart the server to remove the file from the blacklist.
14:31:48,000 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Skip processing of DEPLOY_TO__alfresco.war because it is blacklisted. You must restart the server to remove the file from the blacklist.
14:31:58,000 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Skip processing of DEPLOY_TO__alfresco.war because it is blacklisted. You must restart the server to remove the file from the blacklist.
14:32:08,000 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployDir] Skip processing of DEPLOY_TO__alfresco.war because it is blacklisted. You must restart the server to remove the file from the blacklist.
tLoader.initWebApplicationContext(ContextLoader.java:184)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
   at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)

matthias_bohlen
Champ in-the-making
Champ in-the-making
When you followed the steps on the wiki, you dropped the alfresco.war into your Liferay deploy dir and Liferay sucessfully processed it and created the exploded (and modified) liferay\webapps\alfresco dir? I'm not sure why it has not copied those JAR files over during deploy - there are other modifications it makes to the web.xml file during deploy also - they are also needed which is probably why it's not working. It's almost like it's not making those mods…
I had the same problem after my installation. The reason is: The alfresco.war file to be deployed contains no portlet.xml and no liferay-plugin-package.xml files, so the AutoDeployer does not recognize the war file as a Liferay plugin. On my machine, the deployment was simply ignored, the war file was not exploded. I found this out by running the Tomcat server in debug mode ("catalina jpda run") and debugging it inside Eclipse.

After I added those 2 files, everything worked OK.

Could you please add those 2 files to the liferay43files.zip file and upload it again? I do not want to publish those files here because I am not sure whether the content is correct.

Thanks,
Matthias

kevinr
Star Contributor
Star Contributor
No problem I'll add those files - it's very odd that it worked ok here on our development laptops (I had other devs test it also with no problems)…

I'll let you know when the zip is updated.

Thanks,

Kevin

kevinr
Star Contributor
Star Contributor
I have updated the zip file and updated the wiki instructions. Please can you let me know if it all works for you now.

Thanks for your assistance,

Kevin

lakmal
Champ in-the-making
Champ in-the-making
Hi,

After adding those two files, the util*.jar files are in the lib. However it appears that there are some incompatibilities in the files, may be due to version changes? I get the following errors now. Anyway I will wait till the zip file is ready to test again.

I also have a question about the mysql database. When you follow the guidlines exactly as given in the wiki, I think it will use the HSQL database. Don't you need to have the custom-hibernate-dialect.properties file modified in the extensions folder?



08:19:56,421 INFO  [com.liferay.portal.deploy.hot.PluginPackageHotDeployListener] Plugin package alfresco/client/4.3.0/war registered successfully
08:19:56,437 INFO  [com.liferay.portal.deploy.hot.PortletHotDeployListener] Registering portlets for alfresco
08:19:57,265 WARN  [com.liferay.portal.service.impl.PortletLocalServiceImpl] Portlet with the name alfresco_client_WAR_alfresco is described in portlet.xml but does not have a matching entry in liferay-portlet.xml
08:19:57,265 WARN  [com.liferay.portal.service.impl.PortletLocalServiceImpl] Portlet with the name AlfrescoMyWebForms_WAR_alfresco is described in liferay-portlet.xml but does not have a matching entry in portlet.xml
08:19:57,281 WARN  [com.liferay.portal.service.impl.PortletLocalServiceImpl] Portlet with the name AlfrescoDocList_WAR_alfresco is described in liferay-portlet.xml but does not have a matching entry in portlet.xml
08:19:57,281 WARN  [com.liferay.portal.service.impl.PortletLocalServiceImpl] Portlet with the name AlfrescoMySpaces_WAR_alfresco is described in liferay-portlet.xml but does not have a matching entry in portlet.xml
08:19:57,281 WARN  [com.liferay.portal.service.impl.PortletLocalServiceImpl] Portlet with the name AlfrescoMyTasks_WAR_alfresco is described in liferay-portlet.xml but does not have a matching entry in portlet.xml
08:19:57,281 WARN  [com.liferay.portal.service.impl.PortletLocalServiceImpl] Portlet with the name AlfrescoClient_WAR_alfresco is described in liferay-portlet.xml but does not have a matching entry in portlet.xml
08:19:57,281 WARN  [com.liferay.portal.service.impl.PortletLocalServiceImpl] Portlet with the name AlfrescoMyWebFiles_WAR_alfresco is described in liferay-portlet.xml but does not have a matching entry in portlet.xml
08:19:57,375 INFO  [com.liferay.portal.deploy.hot.PortletHotDeployListener] Portlets for alfresco registered successfully
08:20:03,625 INFO  [com.liferay.portal.deploy.auto.PortletAutoDeployListener] Portlets for C:\Documents and Settings\greenthang123\liferay\deploy\DEPLOY_TO__alfresco.war copied successfully
08:20:27,437 INFO  [com.liferay.portal.deploy.hot.PluginPackageHotDeployListener] Reading plugin package for alfresco
08:20:27,453 INFO  [com.liferay.portal.deploy.hot.PluginPackageHotDeployListener] Plugin package alfresco/client/4.3.0/war unregistered successfully
08:20:27,453 INFO  [com.liferay.portal.deploy.hot.PortletHotDeployListener] Unregistering portlets for alfresco
08:20:27,453 INFO  [com.liferay.portal.deploy.hot.PortletHotDeployListener] Portlets for alfresco unregistered successfully
ion: Failure during rollback: org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap$1@1bf20f6
Caused by:
org.alfresco.error.AlfrescoRuntimeException: Failure during rollback: org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap$1@1bf20f6
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:281)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:155)
   at org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap.bootstrap(DictionaryRepositoryBootstrap.java:134)