मैं uber-jar बनाने के लिए मेवेन-शेड-प्लगइन का उपयोग करना चाहता हूं। लेकिन जब मैं mvn package
कमांड करता हूं तो मैवेन रिपोर्ट करता है कि कुछ अतिव्यापी कक्षाएं हैं। मैं सभी समस्याग्रस्त ओवरलैप को जोड़ रहा हूं, उनमें से कुछ कारण हैं क्योंकि लाइब्रेरी के पुराने और नए संस्करण (लॉग 4 जे), लेकिन उनमें से कुछ के समान वर्ग हैं - उदा। javax.mail और mailapi/smtp/imap et cetera।मेवेन-शेड-प्लगइन, उबेर-जार और ओवरलैपिंग क्लासेस
इस स्थिति में क्या करना सबसे अच्छा है? क्या कुछ महत्वपूर्ण तरीका है कि यह तय करने के लिए कि किस ओवरलैपिंग को अनदेखा करना सुरक्षित है, जिसे सही होने की आवश्यकता है?
- mailapi-1.4.3.jar, javax.mail-1.5.0.jar define 166 overlappping classes
- spring-2.5.6.SEC03.jar, spring-tx-3.1.4.RELEASE.jar define 176 overlappping classes:
- spring-beans-3.1.4.RELEASE.jar, spring-2.5.6.SEC03.jar define 283 overlappping classes:
- slf4j-log4j12-1.7.5.jar, slf4j-impl-2.0-beta2.jar define 3 overlappping classes:
- spring-2.5.6.SEC03.jar, spring-context-support-3.1.4.RELEASE.jar define 55 overlappping classes:
- aopalliance-1.0.jar, spring-2.5.6.SEC03.jar define 9 overlappping classes:
- imap-1.5.0.jar, javax.mail-1.5.0.jar define 87 overlappping classes:
- commons-logging-api-1.1.jar, commons-logging-1.1.3.jar define 19 overlappping classes:
- spring-2.5.6.SEC03.jar, spring-core-3.1.4.RELEASE.jar define 161 overlappping classes:
- spring-2.5.6.SEC03.jar, spring-context-3.1.4.RELEASE.jar define 326 overlappping classes:
- log4j12-api-2.0-beta3.jar, log4j-1.2.17.jar define 23 overlappping classes:
- spring-aop-3.1.4.RELEASE.jar, spring-2.5.6.SEC03.jar define 237 overlappping classes:
- spring-jdbc-3.1.4.RELEASE.jar, spring-2.5.6.SEC03.jar define 239 overlappping classes:
- quartz-1.8.6.jar, quartz-jobs-2.2.1.jar define 15 overlappping classes:
- smtp-1.5.0.jar, javax.mail-1.5.0.jar define 17 overlappping classes:
- spring-asm-3.1.4.RELEASE.jar, spring-2.5.6.SEC03.jar define 31 overlappping classes:
संपादित करें: इस आवेदन 'ए' मेरी एक और जावा अनुप्रयोग निर्भरता एक Maven के रूप में उपयोग करता है - मैं इस एप्लिकेशन को 'बी' फोन करता हूँ। यह बी अनुप्रयोग javax.mail ver 1.5.1 का उपयोग करता है। यह पुस्तकालय भी पहले आवेदन का उपयोग करता है। लेकिन जब मैं एमवीएन पैकेज कमांड को कॉल करता हूं, तो मैवेन ने javax.mail-api-1.5.1.jar, javax.mail-1.5.1.jar define 135 overlappping classes
नोटिस किया।
क्या यह समस्या है और यदि ऐसा है, तो इसे कैसे हल करें या मैं इसे अनदेखा कर सकता हूं?
मैंने अपनी मूल पोस्ट में एक और प्रश्न जोड़ा। – user2148736