我制作了一个作用于 JavaProject 的eclipse 插件。它需要访问项目类的字节码中包含的信息,因此,我使用了 URLClassLoader(告诉它这些类位于项目的“bin”文件夹中)来获取对类的引用并检索所有我需要的信息。不幸的是,当我调用该方法时,loadClass("a certain class in JavaProject")
我得到了这种类型的错误:
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javassist/bytecode/BadBytecode
我发现这种错误是由于类加载器不“知道”添加到 JavaProject 的BuildPath的外部库 :JavaProject 的类使用这些库的类
在上一个案例中使用了库javassist的BadBytecode类,在这个JavaProject类的声明中
public static void main(String[] args) throws NotFoundException, BadBytecode, IOException, CannotCompileException{
那么如何使我的插件对导入到 java 项目中的外部库类可见?