java - 如何在实现BundleActivator的eclipse插件中获取getStateLocation()?

标签 java eclipse eclipse-plugin eclipse-rcp

我有一个扩展 AbstractUIPlugin 的插件

package lsclipse;
public class LSclipse extends AbstractUIPlugin {

有了它,我可以使用以下代码获取状态位置目录。

public static final String baseDir = \
     lsclipse.LSclipse.getDefault().getStateLocation().toOSString();

这个目录映射到WORKSPACE/.metdata/.plugin/PROJECT,这很方便 enter image description here

但是使用实现 BundleActivator 的插件

package lsclipse;
public class Activator implements BundleActivator {

我无法获取状态位置()。

enter image description here

我可以使用Platform.getLocation().toFile().toString();来获取此插件的工作区,但它是WORKSPACE的基本目录>,而不是WORKSPACE/.metdata/.plugin/PROJECT

如何从 Activator 获取状态位置?我的插件是 headless RCP,所以我不想(或不能)继承 AbstarctUIPlugin。

最佳答案

org.eclipse.core.runtime.Platform.java
public static IPath getStateLocation(Bundle bundle) 

应该为您提供 bundle 的数据区域。

关于java - 如何在实现BundleActivator的eclipse插件中获取getStateLocation()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14025335/

相关文章:

java - JPA 实体监听器中的排除字段

java - 如何下载 Java Servlet 文档并附加到 Eclipse

java - 以编程方式保存 Eclipse 编辑器

eclipse - 如何自定义 vrapper block 缩进?

java - 我如何使用 Netty 记录单个客户端的流量和速度?

java - 我收到此错误 java.sql.SQLException : Subquery returns more than 1 row

java - 使用 Hadoop 计数器 - 多个作业

eclipse - 错误!非静态 Java 函数 'replace' 的第一个参数不是有效的对象引用

Eclipse 源文件夹与包

java - swt表: how to dis-select the row when the mouse is not focus on the table?