1

Because of PrimeFaces bug with p:messages I've tried to upgrade the MyFaces version used with IBM WebSphere 7.0 from 2.0.7 to 2.1.10.

Unfortunatelly, the myfaces-impl jar I've downloaded from myFaces page does not contain many utility classes from package org/apache/myfaces/shared_impl/util/ that were in the version 2.0.7 that was already in the project.

The whole stack trace is:

java.lang.NoClassDefFoundError: org/apache/myfaces/shared_impl/util/ClassUtils at com.ibm.ws.jsf.config.annotation.WebSphere20LifecycleProviderFactory.getLifecycleProvider(WebSphere20LifecycleProviderFactory.java:34) at org.apache.myfaces.config.FacesConfigurator.configureManagedBeanDestroyer(FacesConfigurator.java:1048) at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:431) at org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:370) at org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:73) at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:143) at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:119) at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1708) at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:381) at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:299) at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:100) at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:166) at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:732) at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:617) at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:376) at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:668) at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1127) at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1319) at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:610) at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:944) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:740) at com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl.java:1272) at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5343) at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5431) at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1277) at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2048) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:385) at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:328) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:599) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:561) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1184) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:49) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:256) at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1085) at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:966) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:848) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:773) at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1331) at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118) at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1224) at com.ibm.ws.management.application.sync.StartDeploymentTask.startDeployment(StartDeploymentTask.java:236) at com.ibm.ws.management.application.sync.StartDeploymentTask.fullAppUpdate(StartDeploymentTask.java:113) at com.ibm.ws.management.application.sync.StartDeploymentTask.performTask(StartDeploymentTask.java:101) at com.ibm.ws.management.application.sync.AppBinaryProcessor$ExpandApp.expand(AppBinaryProcessor.java:1682) at com.ibm.ws.management.application.sync.AppBinaryProcessor.postProcessSynchronousExt(AppBinaryProcessor.java:723) at com.ibm.ws.management.bla.sync.BLABinaryProcessor.postProcess(BLABinaryProcessor.java:575) at com.ibm.ws.management.bla.sync.BLABinaryProcessor.onChangeCompletion(BLABinaryProcessor.java:452) at com.ibm.ws.management.repository.FileRepository.postNotify(FileRepository.java:1915) at com.ibm.ws.management.repository.FileRepository.update(FileRepository.java:1424) at com.ibm.ws.management.repository.client.LocalConfigRepositoryClient.update(LocalConfigRepositoryClient.java:189) at com.ibm.ws.sm.workspace.impl.WorkSpaceMasterRepositoryAdapter.update(WorkSpaceMasterRepositoryAdapter.java:665) at com.ibm.ws.sm.workspace.impl.RepositoryContextImpl.update(RepositoryContextImpl.java:1954) at com.ibm.ws.sm.workspace.impl.RepositoryContextImpl.synch(RepositoryContextImpl.java:1902) at com.ibm.ws.sm.workspace.impl.WorkSpaceImpl.synch(WorkSpaceImpl.java:511) at com.ibm.ws.management.configservice.ConfigServiceImpl.save(ConfigServiceImpl.java:702) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:49) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:256) at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1085) at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:966) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:848) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:773) at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1331) at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118) at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1224) at com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181) at com.ibm.ws.management.connector.ipc.CallRouter.route(CallRouter.java:242) at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink.doWork(IPCConnectorInboundLink.java:353) at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:595) at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604) 

The libraries used in shared library configured on server:

C:\WebsphereSharedLibs\MyFaces_2.1.10\de.datev.myfaces_2.1.10.jar C:\WebsphereSharedLibs\MyFaces_2.1.10\myfaces-api-2.1.10.jar C:\WebsphereSharedLibs\MyFaces_2.1.10\myfaces-impl-2.1.10.jar C:\WebsphereSharedLibs\MyFaces_2.1.10\commons-logging-1.1.1.jar C:\WebsphereSharedLibs\MyFaces_2.1.10\commons-digester-1.8.jar C:\WebsphereSharedLibs\MyFaces_2.1.10\commons-collections-3.2.jar C:\WebsphereSharedLibs\MyFaces_2.1.10\commons-codec-1.3.jar C:\WebsphereSharedLibs\MyFaces_2.1.10\commons-beanutils-1.8.3.jar C:\IBM\SDP\runtimes\base_v7\optionalLibraries\IBM\JSFProviders\WebSphere-MyFaces20-annotation-provider.jar 

So, where's the problem? I haven't downloaded the version 2.0.7 myself, so maybe it must be specially enriched version to work with WebSphere? Is there a way to use MyFaces 2.1.10 with WebSphere, or can I need only the version prepared by IBM team?

5
  • MyFaces 2.0.7 is still in runtime classpath and fighting with 2.1.10. Get rid of it. Commented Jan 30, 2013 at 15:46
  • It was referenced only as shared library, and I've replaced that definition. What else need to be done? Do I have to use other version of WebSphere-MyFaces20-annotation-provider.jar? Because those is the only version I have... Commented Jan 30, 2013 at 15:51
  • Sorry, WebSphere is beyond me. Commented Jan 30, 2013 at 15:51
  • Google brought me at wiki.apache.org/myfaces/Websphere_Installation which links to wasbehindtheglass.blogspot.com/2011/11/… You may find it helpful. Commented Jan 30, 2013 at 15:55
  • Exactly. We've done this, but this post is not updated for MyFaces 2.1, my attempt to update, with full server restart, etc., had failed, I hadn't enough time to try more, because of normal development work, which requires functioning websphere... Commented Jan 30, 2013 at 15:59

1 Answer 1

2

See this APAR from IBM: http://www-01.ibm.com/support/docview.wss?uid=swg1PM61211:

WebSphere Application Server added a custom annotation provider to provide built in injection engine support for MyFaces 2.0.8+. The provider code is packaged in a new jar file called WebSphere-MyFaces208-annotation-provider.jar, which is located in the /optionalLibraries/IBM/JSFProviders/2.0.8 directory.

The fix for this APAR is currently targeted for inclusion in fix pack 7.0.0.25.

So you need to upgrade to at least 7.0.0.25, and you'll be able to use newer 2.0.x versions on MyFaces

Sign up to request clarification or add additional context in comments.

1 Comment

Well, it's still not 2.1 version, and unfortunatelly updating WAS is not an option (if it would depend on me, we wouldn't be using anything like that in first line), however it explains what's the problem here, namely you're IBM-dependend with that.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.