在我的eclipse插件(A)中,我需要以编程方式获取运行插件(e)的eclipse.exe的路径。
有人知道API来获取此路径吗?我不是在插件中寻找资源而是eclipse.exe本身。
感谢。
答案 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);