2011-09-27 12 views
11

मेरे पास मेरे सिस्टम से संबंधित मेरे सिस्टम में बहुत सारी जार फ़ाइलें हैं।जार के गुच्छा के अंदर कक्षा का नाम कैसे खोजें

मैं पूरी तरह से जार फ़ाइलों में एक विशेष कक्षा कैसे ढूंढ सकता हूं ?? ("वर्ग" के रूप में के लिए "ओपन प्रकार", "type")

Ctrl-Shift-टी लाता है:

आप

+0

आप 'superuser.com' पर इस सलाह लेना चाहें बजाय –

+0

संभावित डुप्लिकेट> http://superuser.com/questions/285793/finding-which-jars-contain-a-file –

उत्तर

29

धन्यवाद उन जार फ़ाइलों को आपके ग्रहण परियोजना के निर्माण के रास्ते में कर रहे हैं एक खोज बॉक्स ऊपर। आप CamelType (यानी स्ट्रिंगबिल्डर के बजाय एसबी) कर सकते हैं।

+1

CTRL नहीं करता है + टी 'कक्षा' ' –

+0

ओप्स के 'टाइप पदानुक्रम' खुलता है। शायद Ctrl-shift-T। माफ़ कीजिये। – Thilo

+1

अब आप सही हैं। +1। –

2

आप में सक्षम होना चाहिए एक स्रोत फ़ाइल में वर्ग के नाम पर राइट क्लिक करें और घोषणाएं मेनू आइटम के उप-आइटम में से एक का चयन करें - यानी, सही वर्ग के नाम पर क्लिक करें और घोषणाएं चयन/परियोजना। यह कक्षा की किसी भी घोषणा के लिए प्रोजेक्ट की खोज करेगा और मानक ग्रहण खोज परिणाम दृश्य को पॉप अप करेगा। मुझे लगता है कि आपके पास ग्रहण परियोजना में लाइब्रेरी के रूप में जार है।

आप के बजाय फाइल सिस्टम पर यह करने के लिए चाहते हैं, तो एक पाश के लिए जार फ़ाइलों पर पुनरावृति करने के लिए इस्तेमाल करते हैं और jar tf FILENAME का उपयोग वर्ग फ़ाइलों और पाइप grep या findstr के माध्यम से (अपने मंच पर निर्भर करता है) कि की सूची प्राप्त करने । आप bash का उपयोग कर रहे हैं, तो निम्नलिखित की तरह कुछ चाल करना होगा:

bash-3.2$ for f in *.jar 
do 
    result=$(jar tf $f | grep '/DBObject.class$') 
    [ -n "$result" ] && echo "$f contains $result" 
done 
mongodb-api-2.6.3.jar contains com/mongodb/DBObject.class 
bash-3.2$ 

आप एक कमांड प्रॉम्प्ट पर एक FOR पाश का उपयोग कर Windows में कुछ इसी तरह गढ़ना सकता है, लेकिन मुझे याद है नहीं है FINDSTR सही ढंग से परिणाम ERRORLEVEL सेट । निम्नलिखित वाक्य रचना की पूरी तरह से यकीन नहीं काम करना चाहिए:

C:\Directory\Containing\Jars> FOR %I IN (*.jar) DO @(
    FOR /F %J IN ('jar tf %I') DO ECHO "%J: %I" 
) | FINDSTR /R /C:"/DBObject.class$" 
mongodb-api-2.6.3.jar: com/mongodb/DBObject.class 
C:\Directory\Containing\Jars> 

तो मुझे याद है, मैं इस संपादित करेंगे के बाद मैं एक Windows मशीन को मिलता है।

+0

रिकर्सिव खोज (विंडोज़ केस) के लिए कोई मौका? –

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