我该如何检查我的Java安装中是否存在像javax.servlet.*这样的包?
Java只能告诉你它是否可以加载一个类。它无法告诉你包是否存在,因为包并没有被加载,只有类被加载。
唯一的方法是尝试从该包中加载一个类。例如,对于javax.servlet.*,您可以这样做:
try {
Class.forName("javax.servlet.Filter");
return true;
} catch(ClassNotFoundException e) {
return false;
}
检查包是否作为资源存在:
// Null means the package is absent
getClass().getClassLoader().getResource("javax/servlet");
或者,可以通过Class.forName(...)
方法检查是否可以加载此包的某个类。
getClass().getClassLoader().getResource("java/lang/String.class")
。 - gjoranvPackage foo = Package.getPackage("javax.servlet");
if(null != foo){
foo.toString();
}else{
System.out.println("Doesn't Exist");
}