2010-03-30 13 views
8

मैं कैसे जांच सकता हूं कि javax.servlet जैसे पैकेज। * जावा की स्थापना में मौजूद है या नहीं?यह जांच रहा है कि कोई पैकेज मौजूद है या नहीं

+2

आसान रास्ता: पैकेज आयात करें, इसका उपयोग करें, संकलित करें। – Tom

उत्तर

9

जावा केवल आपको बता सकता है कि यह कक्षा लोड कर सकता है या नहीं। यह आपको नहीं बता सकता है कि कोई पैकेज मौजूद है या नहीं, क्योंकि पैकेज लोड नहीं होते हैं, केवल कक्षाएं।

एकमात्र तरीका उस पैकेज से कक्षा को लोड करने का प्रयास करके होगा। । उदाहरण के लिए, javax.servlet के लिए * आप कर सकता है:

try { 
    Class.forName("javax.servlet.Filter"); 
    return true; 
} catch(Exception e) { 
    return false; 
} 
7

चेक अगर पैकेज एक संसाधन के रूप मौजूद है:

// Null means the package is absent 
getClass().getClassLoader().getResource("javax/servlet"); 

वैकल्पिक रूप से, जाँच लें कि इस पैकेज के कुछ वर्ग Class.forName(...) के माध्यम से लोड किया जा सकता।

4

आप स्थापना आप के लिए एपीआई डॉक्स में देखें, तो यह आप सभी इंस्टॉल किए गए पैकेज, बता देंगे जैसे: http://java.sun.com/j2se/1.5.0/docs/api/

कोड में, आप कुछ इस तरह कर सकते हैं:

Package foo = Package.getPackage("javax.servlet"); 

if(null != foo){ 
    foo.toString(); 
}else{ 
    System.out.println("Doesn't Exist"); 
} 
+2

यह तभी काम करता है जब पहले उस पैकेज से कक्षा लोड की गई हो। – lexicore

+0

यह केवल तभी काम करेगा जब उस पैकेज की कक्षा क्लासलोडर द्वारा लोड की गई हो। –

+0

जेएनएक्सएक्स! मुझे एक कोक खरीदें! ;) –

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