只是一个关于Java反射机制的快速问题。我的程序应该从.jar文件加载.class项。
我得到了jar文件中的类的java.lang.NoClassDefFoundError
,这些类正在导入外部包(我没有访问权限)。是否有可能在不导入所需包的情况下传递异常?
谢谢。
我不这么认为-为了让反射加载,你必须使用类加载器加载类,然后可以,例如,实例化对象和执行方法,所以你将需要依赖项。
如果您不想实例化或执行,那么字节码库将允许您检查类文件的内容。
其他是正确的,你不能直接从依赖项的依赖项中导入代码。
也就是说,防止这个问题的一个好方法是使用像Maven和Gradle这样的构建技术。当您使用这些技术中的任何一种导入依赖时,您将自动导入依赖的依赖项。