تشغيل أمثلة TomEE plus jsf
-
13-12-2019 - |
سؤال
بعد استخراج TomEE-plus (Apache-tomee-1.0.0-plus.zip) وإنشاء مثال jsf (في الأمثلة-4.0.0-src.zip\webapps\jsf)، واجهت الخطأ التالي في catalina.*.log
بالرسالة التالية:
SEVERE: An error occured while initializing MyFaces: Class org.apache.openejb.jsf.CustomApplicationFactory is no javax.faces.application.ApplicationFactory
java.lang.IllegalArgumentException: Class org.apache.openejb.jsf.CustomApplicationFactory is no javax.faces.application.ApplicationFactory
at javax.faces.FactoryFinder.newFactoryInstance(FactoryFinder.java:128)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:107)
at org.apache.myfaces.config.FacesConfigurator.configureApplication(FacesConfigurator.java:598)
at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:276)
at org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:131)
at org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:64)
at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:83)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:58)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:962)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1603)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
هل أنا الوحيد الذي يحصل على هذا الخطأ؟هل هناك حل أو حل بديل؟
المحلول
لقد نشرت نفس السؤال في منتدى TomEE:http://openejb.979440.n4.nabble.com/Running-TomEE-plus-jsf-Examples-Fails-td4656561.html وحصلت على إجابات جميلة جدًا.فيما يلي خطوات تشغيل JSF & CDI على TomEE.
- كان لدى TomEE خطأ في الإصدار 1.تم إصلاحه الآن.ربما تسبب هذا الخطأ.
- تغلب على هذه المشكلة عن طريق الاطلاع على أحدث إصدار من TomEE:http://openejb.apache.org/builds.html
- من أجل تشغيل مثال JSF مع cdi على TomEE:
- الخروج من أحدث إصدار مثال (SVN الخروج من https://svn.Apache.org/repos/asf/tomee/tomee/trunk/examples/)
- بناء مشروع (Maven) على https://svn.apache.org/repos/asf/openejb/trunk/openejb/examples/moviefun/
- قم بتشغيل مثال moviefun على أحدث إصدار من TomEE (انتقل إلى روابط JSF بمجرد تشغيله).
بالمناسبة:نسخة مستقرة من TomEE على وشك الإصدار في سبتمبر المقبل.من المحتمل أن يغطي هذا المشكلة.
لا تنتمي إلى StackOverflow