पृष्ठभूमिजावा 9 मॉड्यूल सिस्टम वैकल्पिक निर्भरताओं का समर्थन करता है?
Maven में, एक विरूपण साक्ष्य
<optional>true</optional>
जिसका अर्थ है कि निर्भरता की आवश्यकता नहीं है के साथ एक निर्भरता घोषणा कर सकते हैं, लेकिन वर्तमान अगर इस्तेमाल किया जा सकता।
The State of the Module System यह निर्दिष्ट करता है कि एक मॉड्यूल केवल आवश्यक मॉड्यूल पढ़ सकता है।
प्रश्न
- जावा 9 मॉड्यूल प्रणाली वास्तव में वैकल्पिक निर्भरता का समर्थन नहीं करता है?
- क्यों नहीं?
- जावा 9 मॉड्यूल सिस्टम प्रदान करने वाले वैकल्पिक निर्भरताओं के वैकल्पिक विकल्प क्या हैं?
प्रयोग करें प्रकरण
मैं एक रूपरेखा है कि विभिन्न पुस्तकालयों कि या एक एप्लिकेशन द्वारा उपयोग नहीं किया जा सकता है एकीकृत करता है। वर्तमान में, यह ढांचा एक एकल जेएआर है जो अनुपस्थित पुस्तकालयों के लिए एकीकरण कोड छोड़ने के लिए कक्षापथ पर प्रतिबिंबित करता है।
मुझे लगता है कि हम इसे प्रत्येक कॉन्फ़िगरेशन के लिए एक अलग मॉड्यूल में विभाजित कर सकते हैं, लेकिन इससे JAR की संख्या में एक संयोजन विस्फोट हो सकता है, क्योंकि हमें केवल प्रत्येक वैकल्पिक निर्भरता के लिए अलग जेएआर की आवश्यकता नहीं होती है, बल्कि एक अलग वैकल्पिक निर्भरताओं के अधिकांश जोड़े के लिए जार ...
भविष्य के संदर्भ के लिए: क्या आप जानते हैं कि वैकल्पिक निर्भरता प्रस्ताव वास्तव में अंतिम रिलीज में किया गया है या नहीं? – Lii
अभी तक कोई अंतिम रिलीज नहीं है (जावा 9 जुलाई 2017 के लिए निर्धारित है) लेकिन यह अभी भी ईए बिल्डों का हिस्सा है और यह मौका है कि यह शून्य पर सीमाएं निकाल लेता है। – Nicolai