मेरे पास वर्तमान में जावा परीक्षण लाइब्रेरी है जो मैवेन के साथ बनाई गई है, और एक जार के रूप में वितरित की गई है। मेरी परियोजना एक बहुत ही सामान्य पुस्तकालय (ऑब्जेक्टवेब एएसएम) पर निर्भर करती है, और मैंने उन समस्याओं का अनुभव किया है जहां एएसएम का पहले और असंगत संस्करण पहले से ही कक्षापाथ पर है। इस प्रकार, मैंने जार बनाने के लिए jarjar-maven-plugin का उपयोग शुरू कर दिया है, एएसएम को आंतरिक रूप से दोबारा तैयार करना जहां यह एएसएम के दूसरे संस्करण के साथ संघर्ष नहीं कर सकता है।मैवेन के साथ जारजेरड आर्टिफैक्ट कैसे बनाएं, जहां आर्टिफैक्ट का उपयोग ट्रांजिटिव निर्भरताओं को नहीं खींचता है?
यह ठीक निष्पादित करता है, और मेरी लाइब्रेरी को किसी समस्या के साथ निर्भरता के रूप में खींचा जा सकता है।
हालांकि, क्योंकि मेरे प्रोजेक्ट में एएसएम पर संकलन-स्कोप निर्भरता है, जब भी कोई क्लाइंट प्रोजेक्ट मेरी लाइब्रेरी जोड़ता है, तो ट्रांजिटिव निर्भरता सभी भी खींची जाती है। तो, hypothetically, अगर वे एएसएम के एक विशेष संस्करण का उपयोग करते हैं, और वे वर्गपैथ पर निर्भर संस्करण भी जोड़ते हैं, तो उनके पास अपरिभाषित व्यवहार है। मैं इस परिस्थिति से बचना चाहता हूं, और ग्राहकों को जारजर्ड आर्टिफैक्ट पर निर्भर रहने की इजाजत देता हूं बिना मैवेन को अनावश्यक रूप से और संभावित रूप से खतरनाक निर्भरता को पारगम्य निर्भरताओं को खींचने के बिना।
मैं एक जारजर्ड आर्टिफैक्ट कैसे बना सकता हूं जो उपयोगकर्ता ट्रांसमिटिव निर्भरताओं को खींचने के बिना निर्भर कर सकते हैं?
यह प्लगइन भयानक है, हमें निर्भरता नरक से बचाया ... – erdogany