Avatar ·

كيفية التغلب على "Xerces Hell" في مشاريع Java/Maven؟

مرحباً بالجميع! أنا مطور Java مبتدئ وأواجه منذ الأسبوع الثاني مشكلة يطلق عليها في الإنترنت اسم "Xerces Hell". \n\nلدينا مشروع Maven كبير (Spring Boot + Hibernate). فجأة عند تشغيل الاختبارات بدأت تظهر أخطاء مثل:\n\n```\njava.lang.NoSuchMethodError: org.apache.xerces.impl.dv.util.Base64.(Ljava/lang/String;)V\n```\n\nأو\n\n```\njava.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser\n```\n\nوالأمر أن الكود يعمل في بعض الوحدات ولا يعمل في أخرى. قمت بإضافة تبعية xerces في pom.xml بشكل صريح، لكن الأمور أصبحت أسوأ. الآن لدي في classpath صنفين مختلفين من org.apache.xerces.jaxp.SAXParserImpl - واحد من مكتبة xercesImpl والآخر من xml-apis.\n\nحاولت استبعاد التبعيات الانتقالية باستخدام - ساعد ذلك جزئياً، لكن