我正在创建一个插件项目来分析Eclipse工作区中的java项目。我希望通过另一种方式获取Eclipse工作区的当前位置。而不是使用IWorkspace workspace = ResourcesPlugin.getWorkspace();
但我想使用此代码获取日食工作区的位置:
URL location = Current_class.class.getProtectionDomain().getCodeSource().getLocation();
String workspaceLoc = ordinalIndexOf(location.getFile());
我必须以某种方式将String转换为IWorkSpace对象。我尝试使用此代码。
fileUrl = FileLocator.toFileURL(new URL(workspaceLoc));
IWorkspace workspace =(IWorkspace)fileUrl;
但是有错误。
Cannot cast from URL to IWorkspace
任何人都可以就如何做到这一点提出建议吗?我真的很困惑。
答案 0 :(得分:0)
你不能这样做。 IWorkspace
对象是在Eclipse启动期间创建的,不能以任何其他方式创建。
Platform.getInstanceLocation()
方法为您提供当前工作空间的位置。
请注意,当您使用“Run as Eclipse Application”来测试插件时,会启动一个使用新工作区的Eclipse新实例。访问开发工作区的唯一方法是将插件安装到主Eclipse安装中。您应该在测试工作区中创建项目以使用。
进行测试