我试图在Websphere 8.5中启动并运行Mojarra 2.2.6(或MyFaces 2.2.2,两者都是相同的例外)。我像往常一样将类加载器设置正确设置为PARENT_LAST和SINGLE。新的罐子正在被成功拾取,但是引发了以下令人讨厌的异常并导致应用程序无法启动。任何帮助表示赞赏,谢谢!
An exception occurred while validating an annotation: com.ibm.wsspi.amm.validate.ValidationException: SRVE8016E: The @MultipartConfig annotation can not be applied to the class, javax.faces.webapp.FacesServlet, because it extends the wrong super class
完整堆栈跟踪
4/3/14 17:21:16:800 EDT] 00000715 annotations E CWWAM0003E: An exception occurred while validating an annotation: com.ibm.wsspi.amm.validate.ValidationException: SRVE8016E: The @MultipartConfig annotation can not be applied to the class, javax.faces.webapp.FacesServlet, because it extends the wrong super class
com.ibm.wsspi.amm.validate.ValidationException: SRVE8016E: The @MultipartConfig annotation can not be applied to the class, javax.faces.webapp.FacesServlet, because it extends the wrong super class
at com.ibm.ws.webcontainer.annotation.validator.MultipartConfigValidator.validateClassAnnotation(MultipartConfigValidator.java:44)
at com.ibm.ws.webcontainer.annotation.validator.MultipartConfigValidator.validateClassAnnotation(MultipartConfigValidator.java:39)
at com.ibm.ws.webcontainer.annotation.validator.MultipartConfigValidator.validate(MultipartConfigValidator.java:35)
at com.ibm.wsspi.amm.merge.AbstractMergeAction.mergeClassTargets(AbstractMergeAction.java:353)
at com.ibm.wsspi.amm.merge.AbstractMergeAction.merge(AbstractMergeAction.java:123)
at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.performMergeOperations(AnnotativeMetadataManagerImpl.java:509)
at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.merge(AnnotativeMetadataManagerImpl.java:274)
at com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(AnnotationsProcessorImpl.java:144)
at com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(AnnotationsProcessorImpl.java:66)
at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.processAnnotations(WARFileImpl.java:923)
at com.ibm.ws.webfragmerger.WebFragMergerImpl.merge(WebFragMergerImpl.java:493)
at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.mergeAnnotationsAndFragments(WARFileImpl.java:869)
at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:648)
at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:367)
at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:349)
at com.ibm.ws.websvcs.deploy.PersistentStorageInstallTask.processClientBindings(PersistentStorageInstallTask.java:306)
at com.ibm.ws.websvcs.deploy.PersistentStorageInstallTask.performTask(PersistentStorageInstallTask.java:168)
at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:315)
at java.lang.Thread.run(Thread.java:780)
答案 0 :(得分:3)
我遇到了与WAS 8.0.0.8相同的问题。我通过从我的网络应用程序中删除Mojarra jars(jsf-api& jsf-impl jars)并将它们添加到一个独立的共享库中解决了这个问题。 此外,我还需要在隔离的共享库中添加primefaces jar(我使用PF 4.0),以便错误消失。
答案 1 :(得分:2)
错误
SRVE8016E: The @MultipartConfig annotation can not be applied to the class, javax.faces.webapp.FacesServlet, because it extends the wrong super class
是Websphere Bug,更新到8.5.5.6会修复它。
答案 2 :(得分:0)
我写这篇博客是为了演示如何让websphere 8.5使用mojarra而不是myfaces。
http://mojarraonwebsphere.blogspot.com/2014/09/upgrading-mojarra-in-ibm-websphere-85.html