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.

Casebash
fonte
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.

VonC
fonte
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

Casebash
fonte
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

rai.skumar
fonte
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();
Sudhan
fonte
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.

Neeme Praks
fonte
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.

Mario galea
fonte
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.

Neeme Praks
fonte
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;
    }
MILÍMETROS
fonte
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

Michael Osofsky
fonte
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