Avatar ·

خطأ "Access restriction on class due to restriction on required library rt.jar" في Eclipse عند العمل مع WSDL

مرحبًا بالجميع! أنا مطور Java مبتدئ، أكتب عميلًا لخدمة ويب بناءً على WSDL. أستخدم Eclipse (الإصدار الأخير) وقمت بتوليد فئات stub عبر wsdl2java من Axis2. تم تجميع كل شيء بشكل طبيعي، ولكن عندما أحاول استخدام إحدى الفئات (مثل `javax.xml.soap.SOAPConnection` أو `com.sun.xml.internal.messaging.saaj.soap.MessageImpl`)، يعرض Eclipse الخطأ: ``` Access restriction on class 'javax.xml.soap.SOAPConnection' due to restriction on required library rt.jar ``` لقد تحققت: المشروع يستخدم JRE System Library [JavaSE-1.8] (jre1.8.0_281). لا يوجد شيء إضافي في مجلد lib. على الإنترنت ينصحون بإلغاء تحديد خيار "Access Rules" في إعدادات Eclipse — لكن هذا غير صحيح، لأنه قد يكسر مشاريع أخرى. إليك مثال على الكود الذي يسبب الخطأ: ```java import javax.xml.soap.SOAPConnection; import javax.xml.soap.SOAPConnectionFactory; import javax.xml.soap.SOAPMessage; public class SoapClient { public static void main(String[] args) { ```