Encontrando o Número da Versão do Eclipse


115

Postei como encontrá-lo no Eclipse Gallileo, mas se alguém tiver informações sobre versões anteriores, fique à vontade para postar abaixo.


3
Espero que isso apareça no Google se eu esquecer isso novamente.
— Casebash,

66
Parece meio ridículo para mim que eles tornem tão difícil responder à simples questão de "qual versão de Eclipse eu tenho?".
— Lyle

3
E isso agora aparece no Google = P
— Casebash

2
Sim, é a falta de esforço em facilitar as coisas para o usuário que deixa tantos serviços / aplicativos @Lyle na mão. Einstein (não que ele fosse alguma coisa ou que suas palavras fossem verdadeiras neste caso) basicamente disse que as coisas deveriam ser tornadas o mais simples possível, mas hoje parece que muitos não têm qualquer consideração por tal máxima
— George Tomlinson

Clique aqui para verificar esse link. Você obterá uma resposta melhor
— Sabapatia

Respostas:


104

(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 .eclipseproductna 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.inique 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:

texto alternativo

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:

texto alternativo

E você pode ver o ID da compilação agora sendo exibido durante a etapa de carregamento do plugin diferente.


3
stackoverflow.com/questions/2313660/eclipse-version Você também pode tentar. Realmente, isso é muito fácil de usar!
— MRT de

@MRT bom ponto. Eu incluí na resposta para mais visibilidade.
— VonC de

1
Quando eu tentei fazer isso, o .eclipseproduct continha 3.6.1, mas o readme / readme_eclipse.html continha 3.6.2. Acontece que 3.6.2 é a versão correta, então tenha cuidado.
— Dave Griffiths

Também pode ser útil saber se você está executando a compilação de 32 ou 64 bits, verifique esta resposta para saber como determinar que: stackoverflow.com/a/9578565/191761
— Adam Burley

18

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


15

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


2

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();

2

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-0500que está correto.


1

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.


1

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.buildIdpropriedade 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.buildIdque a propriedade do sistema está definida para a versão do org.eclipse.platformplugin. 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.


De fato. Acabei de testar com eclipse-java-luna-SR1a-win32-x86_64. Eu incluí sua resposta na minha acima. +1
— VonC

Você menciona "eclipse / configuration / config.ini", mas não menciona que ele é facilmente acessível a partir do código Java com System.getProperty ("eclipse.buildId"). Não tenho certeza de qual era o contexto da pergunta original, ele queria encontrá-lo no sistema de arquivos ou em tempo de execução (dentro de um plugin)?
— Neeme Praks

Suspeito que foi um pouco dos dois, principalmente onde essa informação foi registrada.
— VonC

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;
    }

Isso parece mais preciso do que minha antiga resposta de 2010. Votos positivos
— VonC 01 de

0

Para Eclipse Kepler, não há Ajuda> Sobre Eclipse, mas descobri que isso funciona:

Eclipse> Sobre o Eclipse


O que você quer dizer com "Eclipse". Não vejo essa opção na linha 'Arquivo Editar Navegar ...'.
— Wes,

Estou em um Mac, então há uma opção de menu chamada Eclipse que está à esquerda da opção de menu chamada Arquivo.
— Michael Osofsky
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.