استثناء الفصل الدراسي: com.sun.org.apache.xerces.internal.jaxp.documentbuilderfactoryimpl

StackOverflow https://stackoverflow.com/questions/4278213

  •  28-09-2019
  •  | 
  •  

سؤال

لقد صدمت مشكلة في JBoss. عندما أحاول نشر .WAR في الخادم ، أحصل على هذا الخطأ التالي ،

java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserF actoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory

من ذلك ، من الواضح تمامًا أن هناك صراعًا للمكتبات. لذلك ، قمت بإزالة ملف JAR الذي يحتوي على xerces ، والذي حدث بواسطة Jaxp-Ri-1.4.1.jar. الآن ، عندما أحاول إعادة النشر ، أحصل على هذا الخطأ الجديد ،

java.lang.NullPointerException
    at org.apache.commons.digester.Digester.getXMLReader(Digester.java:944)
    at org.apache.commons.digester.Digester.parse(Digester.java:1765)
    at org.apache.struts.action.ActionServlet.initServlet(ActionServlet.java

حيث تشكو من أنه لا يمكن العثور على محلات XML.

لذا ، الآن أسئلتي هي أن أي شخص يعرف ما يمكن أن يكون الحل. أي ملف JAXP جرة لا يحتوي على حزمة XerCes؟

تحديث

فعلت كما هو مقترح هنا والآن لدي خطأ جديد ،

java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl

وهو فصل من إحدى الجرار التي حذفتها والتي تحتوي على saxparserfactory :(

هل كانت مفيدة؟

المحلول

يبدو أنك حذفت الجرة الخاطئة. تم الإبلاغ عن classcastexception الأصلي عندما يتم إلقاء مثيل لـ saxparserfactoryimpl (وهو نوع فرعي من saxparserfactory) إلى saxparserfactory.

من المرجح أن يكون الاستثناء بسبب حقيقة وجود حالتان من saxparserfactory بدلاً من حالتين من saxparserfactoryimpl التي يتم تحميلها في JVM. في وقت الصب ، تم إرجاع saxparserfactory الذي تم تحميله بواسطة جهاز تحميل فئة مختلف مما أدى إلى استثناء. وبالتالي فإن الإصلاح هو تحديد الجرار في ClassPath التي لها إصدارات متضاربة من SaxparserFactory. قد لا يكون إزالة تنفيذ المحلل نفسه بحد ذاته ، إذا كان Digester Commons يبحث عن تطبيق معين.

نصائح أخرى

أنا أظن ... أنت تستخدم JBOSS 5.1. إذا كان الأمر كذلك ، فهذا محلل XML ومسألة تحميل الفصل. يجب عليك تحديد jboss-classloading.xml

نرى http://www.coderanch.com/t/523519/jboss/cast و http://www.mastertheboss.com/jboss-application-ser...oss-5-classloading-issues.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top