我是Eclipse插件开发的新手,我正在尝试开发一个插件,我需要加载一个在导航器中选择的类。
您能告诉我如何从eclipse插件加载类或创建类加载器,以及在使用我的插件的eclipse工作台中加载类。
提前致谢。
此致 吉拉尼
答案 0 :(得分:0)
您需要创建URLClassLoader。根据您的安全考虑,您可能希望它成为父级或不是父级。如果由OSGi包类加载器作为父级,那么用户将可以访问该特定包中的所有类,这可能是用户获得对整个Eclipse平台的运行时访问的后门(并访问插件注册表和OSGi服务等)。用户也可以拨打System.exit()
。这可能不是单个用户系统上的问题,但需要考虑,特别是如果用户可能从互联网上下载未经验证的脚本。
话虽这么说,你需要做这样的事情:
((BundleHost) Activator.getBundleContext().getBundle()).getLoaderProxy().getBundleLoader()