Postei como encontrá-lo no Eclipse Gallileo, mas se alguém tiver informações sobre versões anteriores, fique à vontade para postar abaixo.
Postei como encontrá-lo no Eclipse Gallileo, mas se alguém tiver informações sobre versões anteriores, fique à vontade para postar abaixo.
Respostas:
(Atualização em setembro de 2012):
O MRT aponta nos comentários que a questão da " Versão do Eclipse " faz referência a um .eclipseproduct
na pasta principal e contém:
name=Eclipse Platform
id=org.eclipse.platform
version=3.x.0
Isso parece mais direto do que minha resposta original abaixo.
Além disso, Neeme Praks menciona abaixo que existe um eclipse/configuration/config.ini
que inclui uma linha como:
eclipse.buildId=4.4.1.M20140925-0400
Mais uma vez mais fácil de encontrar, pois essas são propriedades Java definidas e encontradas com System.getProperty("eclipse.buildId")
.
Resposta original (abril de 2009)
Para Eclipse Helios 3.6, você pode deduzir a versão da plataforma Eclipse diretamente da tela Sobre:
É uma combinação da versão global do Eclipse e o ID de construção:
Aqui está um exemplo para Eclipse 3.6M6:
A versão seria: 3.6.0.v201003121448 , após a versão 3.6.0 e o ID de compilação I20100312-1448 (uma compilação de integração de 12 de março de 2010 às 14h48
Para ver mais facilmente, clique em "Detalhes do Plugin" e classifique por Versão.
Nota: Eclipse3.6 tem um novo logotipo legal:
E você pode ver o ID da compilação agora sendo exibido durante a etapa de carregamento do plugin diferente.
Em Eclipse Gallileo:
A página sobre (Ajuda -> Sobre o Eclipse) possui alguns ícones na parte inferior da caixa de diálogo. Isso deve incluir dois que são o ícone simples do Eclipse. Selecione aquele com a dica "Eclipse.org". O Eclipse possui muitos componentes, cada um deles com seu próprio número de versão. O núcleo é a plataforma Eclipse
Acho que a maneira mais fácil é ler o arquivo leia- me dentro do diretório do Eclipse em path eclipse/readme/eclipse_readme
.
No topo deste arquivo, ele informa claramente o número da versão:
Para Meu Eclipse Juno; diz a versão comoRelease 4.2.0
se desejar acessar programaticamente, você pode fazê-lo descobrindo a versão de 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();
Aqui está um fragmento de código funcional que imprimirá a versão completa do Eclipse atualmente em execução (ou qualquer aplicativo baseado em 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());
}
}
}
}
}
Ele procura a extensão do "produto" atualmente em execução e obtém a versão do plugin de contribuição.
No Eclipse Luna 4.4.0, dá o resultado 4.4.0.20140612-0500
que está correto.
Para Eclipse Java EE IDE - Indigo: Ajuda> Sobre Eclipse> Eclipse.org (o terceiro a partir do último). Em 'Sobre a plataforma Eclipse', localize a plataforma Eclipse e você terá a versão abaixo da coluna Versão. Espero que isso ajude os usuários do J2EE Indigo.
Há uma propriedade de sistema eclipse.buildId (por exemplo, para Eclipse Luna, eu tenho 4.4.1.M20140925-0400 como um valor lá).
Não tenho certeza em qual versão do Eclipse essa propriedade se tornou disponível.
Além disso, mergulhe de cabeça e explore todas as propriedades do sistema disponíveis - há muitas informações disponíveis nos namespaces eclipse. *, Os. * Osgi. * E org.osgi. *.
ATUALIZAR!
Depois de experimentar diferentes versões do Eclipse, parece que a eclipse.buildId
propriedade do sistema não é o caminho a seguir. Por exemplo, no Eclipse Luna 4.4.0, o resultado 4.4.2.M20150204-1700
é obviamente incorreto.
Suspeito eclipse.buildId
que a propriedade do sistema está definida para a versão do org.eclipse.platform
plugin. Infelizmente, isso nem (sempre) dá o resultado correto. No entanto, a boa notícia é que tenho uma solução com amostra de código de trabalho que descreverei em uma resposta separada.
eclipse-java-luna-SR1a-win32-x86_64
. Eu incluí sua resposta na minha acima. +1
Baseado em Neeme Praks ' resposta , o código abaixo deve dar-lhe a versão do Eclipse IDE você está correndo dentro.
No meu caso, eu estava executando um produto derivado do eclipse, então a resposta de Neeme apenas me deu a versão desse produto. O OP perguntou como encontrar a versão do Eclipse , que é o que eu estava procurando. Portanto, eu precisava fazer algumas alterações, o que me levou a isso:
/**
* Attempts to get the version of the eclipse ide we're running in.
* @return the version, or null if it couldn't be detected.
*/
static Version getEclipseVersion() {
String product = "org.eclipse.platform.ide";
IExtensionRegistry registry = Platform.getExtensionRegistry();
IExtensionPoint point = registry.getExtensionPoint("org.eclipse.core.runtime.products");
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) {
return bundle.getVersion();
}
}
}
}
}
return null;
}
Isso retornará a você um conveniente Version
, que pode ser comparado assim:
private static final Version DESIRED_MINIMUM_VERSION = new Version("4.9"); //other constructors are available
boolean haveAtLeastMinimumDesiredVersion()
Version thisVersion = getEclipseVersion();
if (thisVersion == null) {
//we might have a problem
}
//returns a positive number if thisVersion is greater than the given parameter (desiredVersion)
return thisVersion.compareTo(DESIRED_MINIMUM_VERSION) >= 0;
}
Para Eclipse Kepler, não há Ajuda> Sobre Eclipse, mas descobri que isso funciona:
Eclipse> Sobre o Eclipse