Программно найти каталог установки eclipse


В моем плагине eclipse (A) мне нужно программно получить путь к eclipse.exe, который запускает плагин (A).

Кто-нибудь знает API, чтобы получить этот путь? Я не ищу ресурс в плагине, но eclipse.сам ехе.

Спасибо.

2 2

2 ответа:

Попробуйте ниже код:

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)

Это был комментарий в ответе выше Эндрю Нифера, гораздо более простой:

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