findEclipse版本号

我已经发布了如何在Eclipse Gallileo中find它,但是如果任何人有关于旧版本的信息,请随时在下面发布。

(2012年9月更新):

MRT 在评论中指出,“ Eclipse版本 ”问题在主文件夹中引用了.eclipseproduct ,它包含:

 name=Eclipse Platform id=org.eclipse.platform version=3.x.0 

所以这似乎比我下面的原始答案更直接。

另外, Neeme Praks在下面提到有一个eclipse/configuration/config.ini ,其中包含一行:

 eclipse.buildId=4.4.1.M20140925-0400 

再次比较容易find,因为那些是通过System.getProperty("eclipse.buildId")设置和find的Java属性。


原文答复(2009年4月)

对于Eclipse Helios 3.6,您可以直接从“关于”屏幕推导出Eclipse平台版本:
它是Eclipse全局版本和构buildId的组合:

替代文字

这里是Eclipse 3.6M6的一个例子:
该版本将是: 3.6.0.v201003121448 ,版本3.6.0之后,编译ID I20100312-1448(集成版本自2010年3月12日14时48分

要更轻松地查看,请点击“插件详细信息”并按版本sorting。


注意:Eclipse3.6有一个全新的酷标志:

替代文字

你可以在不同的插件的加载步骤中看到现在正在显示的构build标识。

在Eclipse Gallileo中:

关于页面(帮助 – >关于Eclipse)在对话底部有一些图标。 这应该包括两个是简单的Eclipse图标。 用工具提示“Eclipse.org”select一个。 Eclipse有很多组件,每个组件都有自己的版本号。 核心是Eclipse平台

我认为,最简单的方法是在eclipse/readme/eclipse_readmepath下读取Eclipse目录中的自述文件。

在这个文件的最顶端,它清楚地告诉版本号:

对于我的Eclipse Juno; 它说版本为Release 4.2.0

如果你想以编程方式访问,你可以通过计算eclipse \ plugins \ org.eclipse.platform_ plugin的版本

  String platformFile = <the above file>; //actually directory versionPattern = Pattern.compile("\\d\\.\\d\\.\\d"); Matcher m = versionPattern.matcher(platformFile); return m.group(); 

对于Eclipse Java EE IDE – Indigo:Help>关于Eclipse> Eclipse.org(从上而下)。 在“关于Eclipse平台”中findEclipse平台,您将在版本列下面find版本。 希望这可以帮助J2EE Indigo用户。

有一个系统属性eclipse.buildId (例如,对于Eclipse月神,我有4.4.1.M20140925-0400作为值)。

我不确定在哪个版本的Eclipse中,此属性可用。

同时,深入探索所有可用的系统属性 – 在eclipse。*,os。* osgi。*和org.osgi。*命名空间下有相当多的信息。


UPDATE! 在尝试了不同的Eclipse版本之后,似乎eclipse.buildId系统属性不是要走的路。 例如,在Eclipse Luna 4.4.0上,它给出了4.4.2.M20150204-1700的结果,这显然是不正确的。

我怀疑eclipse.buildId系统属性设置为org.eclipse.platform插件的版本。 不幸的是,这不(总是)给出正确的结果。 然而,好消息是我有一个工作代码示例的解决scheme,我将在一个单独的答案中概述。

这是一个工作代码片段,将打印出当前正在运行的Eclipse(或任何基于RCP的应用程序)的完整版本。

 String product = System.getProperty("eclipse.product"); IExtensionRegistry registry = Platform.getExtensionRegistry(); IExtensionPoint point = registry.getExtensionPoint("org.eclipse.core.runtime.products"); Logger log = LoggerFactory.getLogger(getClass()); if (point != null) { IExtension[] extensions = point.getExtensions(); for (IExtension ext : extensions) { if (product.equals(ext.getUniqueIdentifier())) { IContributor contributor = ext.getContributor(); if (contributor != null) { Bundle bundle = Platform.getBundle(contributor.getName()); if (bundle != null) { System.out.println("bundle version: " + bundle.getVersion()); } } } } } 

它查找当前正在运行的“产品”扩展,并采取贡献插件的版本。

在Eclipse Luna 4.4.0上,它给出了4.4.0.20140612-0500的结果,这是正确的。

对于Eclipse Kepler,没有帮助>关于Eclipse,但我发现这个工程:

Eclipse>关于Eclipse