2012-03-07 5 views
0

私はjsf移行プロジェクトに取り組んでいます。 jsf 2.0への移行の過程で、myfaces-api-1.1.5とmyfaces-impl1.1.5をmyfaces-impl(2.1.6)に置き換えました。私は次の例外を持っています。myfaces-implのorg.apache.myfaces.el.ValueBindingImplクラスが見つかりません2.1.6

at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_22] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_22] 
    at java.lang.Thread.run(Thread.java:662) [:1.6.0_22] 
Caused by: java.lang.NoClassDefFoundError: org/apache/myfaces/el/ValueBindingImpl 
    at java.lang.Class.getDeclaredConstructors0(Native Method) [:1.6.0_22] 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389) [:1.6.0_22] 
    at java.lang.Class.getConstructor0(Class.java:2699) [:1.6.0_22] 
    at java.lang.Class.getConstructor(Class.java:1657) [:1.6.0_22] 
    at org.jboss.as.web.deployment.jsf.JsfManagedBeanProcessor.deploy(JsfManagedBeanProcessor.java:105) 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115) 
    ... 5 more 
Caused by: java.lang.ClassNotFoundException: org.apache.myfaces.el.ValueBindingImpl from [Module "deployment.ASSET.war:main" from Service Module Loader] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310) 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103) 
    ... 11 more 

私はjarファイルにValueBindingImplを見つけるしようとすると、私はMyFacesの-IMPL(2.1.6)でorg.apache.myfaces.el.ValueBindingImplを見つけることができないです..任意の代替はあります?

答えて

1

あなたのコードでは、JSF 1.1 APIクラスの代わりにMyFaces 1.1固有の実装クラスが使用されているようです。例えば、

ValueBinding binding = new ValueBindingImpl(...); 

代わりの

ValueBinding binding = application.createValueBinding(...); 

あなたはMyFacesの1.1特定の実装クラスを削除するには、コードを修正する必要があると思います。

ValueBindingは、可能であれば、ValueExpressionで置き換えられるため、JSF 1.2以降では非推奨となっています。

+0

こんにちはBalusC、ありがとうございました。私はコードを修正しています。 – neni

関連する問題