获取Eclipse平台插件路径

很多时候,我们需要获取Eclipse平台中相关插件的信息,如位置,插件里面某个目录或文件等。 在Eclipse提供的API中,Platform类提供了基础的获取方法。以下重点描述Bundle、URL、FileLocator等互相结合的使用 1、在Eclipse中获取插件路径 1)在Run起来的Eclipse中调试,和真正将其打成插件部署到Eclipse,两者之间可能会出现一些不同。调试方式:将已部署好插件的Eclipse通过debug的方式启动,同时在相关的地方通过System.out.打印出来。Eclipse Debug启动方式,在cmd中eclipsec.exe -debug 2)通过bundle.getLocation()得到的String,从样式上看好像是一个符合URL格式的字符串,但此处会出现协议为reference且后面接着是file://XXX。故其返回结果暂时不清楚用于什么用途。值得注意的是,如果你通过Run起来的方式调试的时候,很可能会看到这样的字符串:reference:file:/E:/workSpace/XXXProject/,这样很容易导致使用如下方式去获取插件路径E:/workSpace/XXXProject/: URL url = new URL(bundle.getLocation()) URL realUrl = new URL(FileLocator.toFileURL(url).getPath()) 从而拿到路径,但不幸的是,该方式去获取会导致你将项目打成插件部署到Eclipse的时候出错。因为此时realUrl是相对于Eclipse_Home的相对路径。 3)真正正确获取方式: URL installLocation = bundle.getEntry("/"); URL local = Platform.asLocalURL(installLocation); //此处目前推荐使用FileLocator的toFileURL替换 URL platformContextURL = subDirPath == null ? local : new URL( local, subDirPath.toString()); String fullPath = (new File(platformContextURL.getPath())) .getAbsolutePath(); osPath = new Path(fullPath)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值