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

发布于 2024-11-18 08:45:49 字数 135 浏览 1 评论 0原文

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

有谁知道API可以获取这条路径吗?我不是在插件中寻找资源,而是在 eclipse.exe 本身中寻找资源。

谢谢。

In my eclipse plugin(A), I need to programmatically get a path to eclipse.exe, which runs the plugin(A).

Does anybody know API to get this path? I am not looking for a resource in a plugin but eclipse.exe itself.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无尽的现实 2024-11-25 08:45:49

尝试下面的代码:

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)

Try below code:

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)
情未る 2024-11-25 08:45:49

这是安德鲁·尼弗在上面的答案中的评论,更简单:

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

This was a comment in the answer above by Andrew Niefer, much simplier:

String eclipseExecutablePath = System.getProperty("eclipse.launcher");
System.out.println(eclipseExecutablePath);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文