我想测试当前类加载器或系统是否知道特定包。 Package.getPackage(String name) 似乎返回 null 因此我卡住了。 ClassLoader 不包含任何执行相同操作的方法,因此我卡住了......

我宁愿不在包中加载一个类来测试它是否存在,当然有更好的方法。

任何指针将不胜感激。

最佳答案

Package.getPackage(String name) 是适合这项工作的工具。确保你已经

  • 正确输入包名
  • 尝试 Package.getPackages() 看看有什么可用
  • 确保类加载器匹配 - 测试例如 getClass().getPackage()Package.getPackage(String name)

  • 该方法仅在当前类加载器中搜索包(如果当前类加载器为空,则搜索系统类加载器)。如果当前类加载器中没有加载包中的类,则该包将不存在。

    关于Java:测试是否存在包(使用其名称)...,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6871459/

    10-13 00:05