我们正在开发一个Eclipse RCP应用程序,直到目标版本2022-03,我们始终使用此程序来获取当前工作空间路径:
ResourcesPlugin.getWorkspace().getRoot().getLocation().toString()
但是:对于Eclipse目标版本2022-09,如果我们在Eclipse外部运行产品(即导出的产品),我们会得到一个IllegalStateException:
java.lang.IllegalStateException: Workspace is already closed or not ready yet. Consider tracking the org.eclipse.core.resources.IWorkspace service (using your favorite technique, e.g. Declarative Services, ServiceTracker, Blueprint, ...) instead of calling the static method here to prevent such issues!
at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:502)
我的意思是,这个例外确实提出了一些替代方案。但是:真的不能再使用ResourcesPlugin.getWorkspace()
了吗?这很方便。有没有同样简单的解决方案?
1条答案
按热度按时间cidc1ykv1#
获取工作区位置的最简单方法是:
是的。
这完全不依赖于资源插件(因此它甚至可以在没有资源插件的e4 RCP中工作)。