2010-03-30 174 views
8

如何檢查javax.servlet。*包是否存在或不存在於我的java安裝中?檢查包是否存在

+2

易方式:導入包,使用它,編譯。 – Tom 2010-03-30 19:02:25

回答

9

Java只能告訴你它是否可以加載一個類。它不能告訴你包是否存在,因爲包沒有被加載,只有類。

唯一的方法是試圖從該包中加載一個類。 。例如,對於*的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

如果你在爲你的安裝API文檔看,它會告訴你所有已安裝的軟件包,例如: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 2010-03-30 19:11:38

+0

這隻有在ClassLoader加載了該包中的類時纔有效。 – 2010-03-30 19:11:42

+0

JINX!給我買可樂! ;) – 2010-03-30 19:12:19