सीआई-सर्वर (हडसन) पर निर्भर करता है, जिसके लिए मैं जिम्मेदार हूं, मेवेन प्रोजेक्ट बनाता है। पिछले प्रतिबद्ध के बाद, निर्माण विफल रहा:मेवेन कक्षा को संकलित नहीं कर सकता जो rt.jar
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] \hudson\jobs\path to my class\MyClass.java:[33,62] package com.sun.xml.internal.messaging.saaj.packaging.mime.util does not exist
[ERROR] \hudson\jobs\path to my class\MyClass.java:[75,5] cannot find symbol
symbol : class BASE64EncoderStream
location: class |fullname of MyClass|
[ERROR] \hudson\jobs\path to my class\MyClass.java:[75,38] cannot find symbol
symbol : class BASE64EncoderStream
location: class |fullname of MyClass|
[INFO] 3 errors
आवश्यक वर्ग (com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64EncoderStream) rt.jar में स्थित है।
मैं इस परियोजना के pom.xml में प्रणाली निर्भरता जोड़ने की कोशिश की (http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#System_Dependencies पर दिए गए निर्देशों के अनुसार):
<dependency>
<groupId>dummy</groupId>
<artifactId>dummy</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>
यह मदद नहीं की।
सबसे दिलचस्प बात यह है कि सभी फाइलें मेरे कॉलेग्यू की स्थानीय मशीन पर ठीक संकलित होती हैं (वह एक्लिप्स बिल्ड-इन कंपाइलर का उपयोग करते हैं)।
इंटरनेट में मुझे एक ही प्रश्न मिला (लिंक: http://maven.40175.n5.nabble.com/Why-can-t-Maven-find-com-sun-xml-internal-messaging-saaj-util-ByteOutputStream-class-td107361.html)। आखिरी जवाब यह था कि इस समस्या का कारण ओरेकल का जावा कंपाइलर है।
तो, मैंने ओरेकल के जेडीके को ओपनजेडीके में बदल दिया, लेकिन इससे मदद नहीं मिली।
क्या किसी को इस समस्या को हल करने के बारे में कोई सुझाव है?
मैं बाइटऑटपुटस्ट्रीम का उपयोग कर रहा था और यह त्रुटि प्राप्त कर रहा था। जब मैंने इसे ByteArrayOutputStream में बदल दिया, तो यह एक आकर्षण की तरह काम करता था। जेआरई आंतरिक कक्षाओं के बारे में कभी नहीं पता था। – Anshuman