noa*_*oah 12
Java只能告诉你它是否可以加载一个类.它无法告诉您包是否存在,因为未加载包,只有类.
唯一的方法是尝试从该包加载一个类.例如,对于javax.servlet.*您可以这样做:
try {
Class.forName("javax.servlet.Filter");
return true;
} catch(Exception e) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
lex*_*ore 11
检查包是否作为资源存在:
// Null means the package is absent
getClass().getClassLoader().getResource("javax/servlet");
Run Code Online (Sandbox Code Playgroud)
或者,检查是否可以通过加载此包的某些类Class.forName(...).
如果您查看 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");
}
Run Code Online (Sandbox Code Playgroud)