2016-11-14 1 views
1

나는 성공적으로는 WebSphere 자유 프로필 (16.0.0.3) 내 응용 프로그램을 구축했지만, 나는 그것을 사용하려고하면, 나는 다음과 같은 예외가 얻을 :에서 MyFaces 및 WebSphere 자유 프로필 (ClassNotFoundException가)는

java.lang.ClassNotFoundException: org.apache.myfaces.renderkit.html.HtmlFormRenderer 
    at com.ibm.ws.classloading.internal.AppClassLoader.findClassCommonLibraryClassLoaders(AppClassLoader.java:488) 
    at com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:271) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:466) 
    at com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:438) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at pt.sibs.epms.ecc.renderer.HtmlFormRenderer.getRenderer(HtmlFormRenderer.java:54) 

JSF를 2.2 server.xml에 사용할 수 있습니다 :

<feature>jsf-2.2</feature> 

그리고 클래스에 존재 : API 유형 마주에 관한

wlp/lib/com.ibm.ws.jsf.2.2_1.0.14.jar 

유감 스럽지만, 내 공유 라이브러리와 애플리케이션은 모두 spec,ibm-api,api,third-party입니다.

MyFaces의 다른 구현을 구성하려고하면 ClassCastException이 시작됩니다.

이 작업을하려면 무엇을 변경해야합니까?

답변

1

jsf-2.2 기능은 MyFaces 구현 클래스를 Class.forName을 수행하려는 시도가 작동하지 않는 모든 종류의 api로 노출되지 않습니다.

+0

답장을 보내 주셔서 감사합니다. 이것은 내 자신의 렌더러를 구현할 수 없다는 것을 의미합니까? –

+0

죄송합니다. 그 질문에 대답 할 수 있으려면 JSF에 대해 충분히 알지 못합니다. 방금 여기에서 문서를 확인했습니다. http://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.doc/ae/rwlp_feature_jsf-2.2.html – Alasdair

0

안녕 RendererWrapperRenderKitWrapper의 조합을 사용하여 자신의 렌더러를 구현할 수 있어야합니다. 이러한 클래스를 사용하면 기존 Renderer 및 RenderKit 인스턴스에 특수한 비헤이비어를 추가 할 수 있습니다.

+0

감사합니다. 나는 모양을 가지고 그것이 작동하도록 할 수 있는지 보지 만, org.apache.myfaces.application.ActionListenerImpl'과 동일한 문제가 있습니다. –

관련 문제