以编程方式查找eclipse安装目录

时间:2011-07-05 04:11:31

标签: eclipse plugins path executable

在我的eclipse插件(A)中,我需要以编程方式获取运行插件(e)的eclipse.exe的路径。

有人知道API来获取此路径吗?我不是在插件中寻找资源而是eclipse.exe本身。

感谢。

2 个答案:

答案 0 :(得分:0)

尝试以下代码:

import org.eclipse.osgi.service.datalocation.Location;

public <T> T getService(Class<T> clazz, String filter) {
        BundleContext context = getBundle().getBundleContext();
        ServiceTracker tracker = null;
        try{ 
            tracker = new ServiceTracker(context, context.createFilter("(&(" + Constants.OBJECTCLASS + "=" + clazz.getName()  //$NON-NLS-1$ //$NON-NLS-2$
                    + ")" + filter + ")"), null); //$NON-NLS-1$ //$NON-NLS-2$
            tracker.open();
            return (T) tracker.getService();
        } catch (InvalidSyntaxException e) {
            return null;
        } finally {
            if(tracker != null)
                tracker.close();
        }
    }

getService(Location.class, Location.INSTALL_FILTER)

答案 1 :(得分:0)

这是Andrew Niefer在上面的回答中的一个评论,更为简单:

String eclipseExecutablePath = System.getProperty("eclipse.launcher");
System.out.println(eclipseExecutablePath);