问题:当运行Eclipse的plugin去加载workspace的类时,是加载不到的,除非使用JavaProject的Classloader。
We want here to define a class loader for our Eclipse plugin that uses the project class loader to load any given class.
解决:
1.通过Project去加载
List<IJavaProject> javaProjects = new ArrayList<IJavaProject>(); IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for(IProject project: projects){ project.open(null /* IProgressMonitor */); IJavaProject javaProject = JavaCore.create(project); javaProjects.add(javaProject); }
2. 提供上下文注入ClassLoader
它需要什么classloader传给它就行了