पर जावा कंपाइलर मेरे वर्तमान प्रोजेक्ट में, मुझे रनटाइम पर जावा कोड संकलित करने की आवश्यकता है (पृष्ठभूमि में उपयोगकर्ता से इनपुट संसाधित करने के लिए)। यह classpath में tools.jar के साथ ठीक काम करता है। हालांकि, मेरे कार्यक्रम के सभी उपयोगकर्ताओं को अपने सिस्टम पर जेडीके स्थापित नहीं है। उनमें से कुछ में केवल जेआरई है और उस स्थिति में रनटाइम पर कोई जावा कंपाइलर उपलब्ध नहीं है। मैं अपने उपकरण के एक हिस्से के रूप में सूर्य से tools.jar सहित उस समस्या को हल कर सकता हूं।रनटाइम
लेकिन tools.jar बहुत बड़ा (> 12 एमबी) है। समस्या यह है कि मुझे बड़ी जार फ़ाइल शामिल करनी है, हालांकि मुझे इस जार द्वारा प्रदान की गई कार्यक्षमता के केवल एक छोटे से हिस्से में रुचि है।
यह tools.jar फ़ाइल को तोड़ने के लिए संभव है, ताकि मैं वर्गों है कि जावा कोड केवल संकलन के लिए आवश्यक हैं के छोटे सबसेट है?
क्या यह अवैध है?
बहुत बहुत धन्यवाद।
का उपयोग करते हैं, यह एक विकल्प है जिसका मैंने उपयोग किया था। हां, एक्लिप्स के बिना ग्रहण कंपाइलर का उपयोग करना संभव है। मुझे इसके थ्रेड कैशिंग व्यवहार के कारण इसका उपयोग करने में कुछ समस्याएं थीं, यानी, एक थ्रेड से कंपाइलर के एक से अधिक उदाहरण प्राप्त करना संभव नहीं है। मेरे उपयोग परिदृश्य में, मुझे कंपाइलर से डायग्नोस्टिक संदेशों का ट्रैक रखने में परेशानी हो रही है क्योंकि मुझे प्रत्येक बार कंपाइलर का एक नया उदाहरण चाहिए। – Dipmedeep