2008-09-16 15 views
8

क्या अनियंत्रित जार-फाइलों का पता लगाने के लिए कोई उपकरण है?न्यूनतम आवश्यक जावा क्लासपाथ खोजें

उदाहरण के लिए कहें कि मेरे पास myapp.jar है, जिसे मैं हाइबरनेट.जर, जूनिट.जर और easymock.jar युक्त क्लासपाथ के साथ लॉन्च कर सकता हूं। लेकिन असल में यह केवल hibernate.jar का उपयोग करके ठीक काम करेगा, क्योंकि जूनिट.जर को कॉल करने वाला कोड पहुंच योग्य नहीं है।

मुझे एहसास है कि प्रतिबिंब चीजों को जटिल कर सकता है, लेकिन मैं एक उपकरण के साथ रह सकता हूं जो प्रतिबिंब को अनदेखा करता है। इसके अलावा यह हल करने के लिए अपेक्षाकृत सरल समस्या की तरह लगता है।

यदि ऐसा कोई उपकरण नहीं है, तो कौन सी निर्भरताओं की आवश्यकता है यह तय करने के लिए सर्वोत्तम अभ्यास क्या है? ऐसा लगता है कि यह एक आम समस्या होनी चाहिए।

उत्तर

3

यह ऐसी प्रणाली में संभव नहीं है जो प्रतिबिंब का उपयोग कर सके।

उस ने कहा, यदि आप किसी भी प्रतिबिंब का उपयोग नहीं करते हैं तो एक स्थिर विश्लेषण उपकरण बहुत अच्छा काम कर सकता है।

2

क्या आपने निर्भरता खोजक पर एक नज़र डाली है?

http://depfind.sourceforge.net/

अन्य उपलब्ध जावा निर्भरता उपकरणों के सबसे का एक आसान सूची भी है कि साइट पर उपलब्ध है।

1

मैं

http://code.google.com/p/jarjar/

इस्तेमाल किया है और पाया है कि यह बहुत अच्छा होने की है।

इसके अलावा, अगर आप इकाई/स्वीकृति परीक्षण का एक अच्छा सेट है तो आप आसानी से किसी भी प्रतिबिंब को तोड़ चुके हैं तो पता लगाएंगे :)।

0

बिल के जवाब में कुछ जोड़ने के लिए: आप प्रतिबिंब का उपयोग नहीं कर सकते हैं, लेकिन आप जिस जार का उपयोग कर रहे हैं वह हो सकता है। मुझे लगता है कि xalan & xerces के साथ ऐसा कुछ सामना करना याद है, जहां रनटाइम पर ClassNotFoundException फेंक दिया गया है।

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