我想测试当前类加载器或系统是否知道特定包。 Package.getPackage(String name)似乎返回null因此我卡住了。 ClassLoader不包含任何相同的方法,因此我卡住了......
我宁愿不在包中加载一个类来测试它是否存在,肯定是更好的方法。
任何指针都会受到赞赏。
答案 0 :(得分:4)
Package.getPackage(String name)
是适合这项工作的工具。确保你已经
Package.getPackages()
查看可用内容getClass().getPackage()
然后Package.getPackage(String name)
该方法仅在当前类加载器中搜索包(如果当前类加载器为null,则搜索System类加载器)。如果当前类加载器中没有加载包中的类,则包不会出现。
答案 1 :(得分:1)
除非已从该包加载类,否则没有简单的方法可以获取有关包是否存在的信息。 Package.getPackage
仅在加载了命名包中的类时才起作用。
您的选择是:
如果代码也使用url类加载器,则第二个选项可能会失败。