2009-09-08 17 views
5

मेरे पास ऐसी स्थिति है जहां जावा कोड का एक छोटा टुकड़ा है जिसमें बड़ी संख्या में जार हैं जो यह निर्भर करता है। हालांकि, इन जारों के अंदर निर्भरता बहुत उथले हैं। ज्यादातर मामलों में यह केवल एक इंटरफेस के लिए एक जार पर निर्भर करता है।जावा न्यूनतम निर्भरता

एप्लिकेशन के साथ सभी जार वितरित करने के बजाय, मैं वास्तव में जारों के अंदर विशिष्ट वर्ग फ़ाइलों को वितरित करना चाहता हूं जो वास्तव में उपयोग करता है। इसका कारण अंतरिक्ष को संरक्षित करना है (यह कोड एक एप्लेट में रहेंगे)।

क्या कोई इसे स्वचालित रूप से करने के लिए किसी टूल या विधि के बारे में जानता है? मान लीजिए कि सभी निर्भरताओं स्थिर हैं, यह पूरी तरह से संभव लगता है। कोई विचार?

उत्तर

5

Classdepandjar आवश्यक कक्षाओं में कोडबेस को पट्टी कर देगा। इसका उपयोग जिनी दुनिया में बेहतर आकार के जार देने के लिए किया जाता है, लेकिन इसके बारे में जिनी-विशिष्ट कुछ भी नहीं है।

एक चींटी कार्य के रूप में उपलब्ध है।

3

जहाँ तक मुझे पता है, यह केवल maven है, लेकिन यह एक अच्छी शुरुआत

Maven Shade Plugin: इस प्लगइन अपनी निर्भरता और छाया के लिए भी शामिल है, एक uber-जार में विरूपण साक्ष्य पैकेज करने की क्षमता प्रदान करता है - यानी नाम बदलने - कुछ निर्भरताओं के पैकेज।

2

ProGuard संकीर्ण/अनुकूलन और भी अपवित्रता करता है। मुझे लगता है कि आप इसे सिर्फ एक या दूसरे को करने के लिए कॉन्फ़िगर कर सकते हैं।

संबंधित मुद्दे