如题
classPath.addClasspath(rootPath);
ClassLoader classloader = classPath.getClassLoader();
classloader.classload(className);
这么做比行。
还有知道不知道eclipse插件怎么做动态classpath 扩充。
做一个popup menu时,要在对应的工程点击时,分析其中的某些对象的方法和属性。想要扩冲该工程classpath.
[b]问题补充:[/b]
如题
classPath.addClasspath(rootPath);
ClassLoader classloader = classPath.getClassLoader();
classloader.classload(className);
这么做不行。
还有知道不知道eclipse插件怎么做动态classpath 扩充。
做一个popup menu时,要在对应的工程点击时,分析其中的某些对象的方法和属性。想要扩冲该工程classpath.
谢谢你的回答,不过我看了.classpath文件。载入的lib库没在里面。我的插件就没法动态载入工程里的.class
[quote]载入的lib库没在里面。我的插件就没法动态载入工程里的.class [/quote]
[color=red].classpath文件[/color]中定义了两种形式的classpath,一种直接是./**/**xxx.jar,还有一种是eclipse构建路径中的变量,这些变量指向了工程中的实际构建路径中的jar包,既然你要做JDT的插件,那么JDT中的API你应该知道如何获取到当前工程的构建路径中的classpath吧,因为那些变量只能通过eclipse平台的接口来获取,这些变量还包括用户自定义的类库,比如这个.classpath文件:
[quote]
<?xml version="1.0" encoding="UTF-8"?>
[/quote]
其中的org.eclipse.jdt.launching.JRE_CONTAINER就是一个classpath变量,指向JRE中的jar包,这个只能通过JDT的API来获取实际的构建路径上的jar包
[quote]
做一个popup menu时,要在对应的工程点击时,分析其中的某些对象的方法和属性。想要扩冲该工程classpath. [/quote]
你误入歧途了,eclipse中所有的classpath都在配置文件中配置的,你不能通过ClassLoader去分析,应该去分析工程根目录下的.project文件中的classpath配置项目,eclipse JDT中貌似有相关API