Пошук номера версії Eclipse


115

Я розмістив інформацію про те, як її знайти в Eclipse Gallileo, але якщо хтось має інформацію про старіші версії, сміливо опублікуйте її нижче.


3
Сподіваємось, це з’явиться в Google, якщо я коли-небудь забуду це знову.
Casebash

66
Мені здається дещо смішним, що вони ускладнюють відповідь на просте запитання: "Яку версію Eclipse у мене є?".
Лайл

3
І це тепер з’являється в Google = P
Casebash

2
Так, це нестача зусиль, щоб полегшити роботу користувачеві, що випустило так багато сервісів / програм @Lyle. Ейнштейн (не те, що він був чимось, або що його слова були правдивими в даному випадку) в основному говорив, що все слід зробити максимально простим, але сьогодні, здається, багато хто не враховують такої максими
Джордж Томлінсон

Натисніть тут, щоб перевірити це посилання. Ви отримаєте кращу відповідь
Сабапатія

Відповіді:


104

(Оновлення вересня 2012 року):

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

Знову простіше знайти, оскільки це властивості Java, встановлені та знайдені за допомогою System.getProperty("eclipse.buildId").


Оригінальна відповідь (квітень 2009 р.)

Для Eclipse Helios 3.6 ви можете вивести версію платформи Eclipse безпосередньо з екрана About:
Це комбінація глобальної версії Eclipse та id складання:

alt текст

Ось приклад для Eclipse 3.6M6:
Версія буде: 3.6.0.v201003121448 , після версії 3.6.0 та збіркою Id I20100312-1448 (збірка інтеграції з 12 березня 2010 о 14:00)

Щоб побачити його легше, натисніть «Деталі плагіна» та сортуйте за версією.


Примітка: Eclipse3.6 має абсолютно новий класний логотип:

alt текст

І ви можете бачити Id збірки, який тепер відображається під час завантаження іншого плагіна.


3
stackoverflow.com/questions/2313660/eclipse-version Ви також можете спробувати. Дійсно це дуже просто у використанні!
MRT

@MRT хороший момент. Я включив його у відповідь для більшої наочності.
VonC

1
Коли я щойно спробував це, .eclipseproduct містив 3.6.1, але readme / readme_eclipse.html містив 3.6.2. Виявляється, що 3.6.2 - це правильна версія, тому будьте обережні.
Дейв Гріффітс

Також може бути корисно дізнатися, чи використовуєте ви 32 або 64-бітну збірку, перевірте цю відповідь, як це визначити: stackoverflow.com/a/9578565/191761
Адам Берлі

18

У затемненні Галлілео:

На сторінці about (Довідка -> Про затемнення) є кілька піктограм у нижній частині діалогу. Сюди слід включити два, які є простим значком затемнення. Виберіть потрібну підказку "Eclipse.org". Eclipse має багато компонентів, кожен з яких має свій номер версії. Ядром є платформа Eclipse


15

Я думаю, найпростіший спосіб - прочитати файл readme всередині вашого каталогу Eclipse на шляху eclipse/readme/eclipse_readme.

У самому верху цього файлу чітко вказується номер версії:

Для мого затьмарення Юнони; в ньому написано версію якRelease 4.2.0


2

якщо ви хочете отримати доступ до цього програмно, ви можете зробити це, з’ясувавши версію eclipse \ plugins \ org.eclipse.platform_ плагін

    String platformFile = <the above file>; //actually directory

versionPattern = Pattern.compile("\\d\\.\\d\\.\\d");
Matcher m = versionPattern.matcher(platformFile);
return m.group();

2

Ось робочий фрагмент коду, який буде роздруковувати повну версію поточного запущеного 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());
        }
      }
    }
  }
}

Він шукає розширення "product", що працює в даний момент, і приймає версію додаючого плагіна.

На Eclipse Luna 4.4.0 він дає результат, 4.4.0.20140612-0500який є правильним.


1

Для Eclipse Java EE IDE IDE - Indigo: Довідка> Про Eclipse> Eclipse.org (третя з останніх). У розділі "Про платформу Eclipse" знайдіть Eclipse Platform, і ви матимете версію під стовпцем версії. Сподіваюся, це допомагає користувачам J2EE Indigo.


1

Існує системна властивість eclipse.buildId (наприклад, для Eclipse Luna у мене є значення 4.4.1.M20140925-0400 ).

Я не впевнений, у якій версії Eclipse ця властивість стала доступною.

Крім того, зануріться прямо та вивчіть усі доступні властивості системи - є багато інформації, доступної під eclipse. *, Os. * Osgi. * Та org.osgi. * Простору імен.


ОНОВЛЕННЯ! Після експериментів з різними версіями Eclipse, здається, що eclipse.buildIdвластивість системи - це не шлях. Наприклад, на Eclipse Luna 4.4.0 він дає результат 4.4.2.M20150204-1700, очевидно, неправильний.

Я підозрюю, що eclipse.buildIdвластивість системи встановлено на версію org.eclipse.platformплагіна. На жаль, це не завжди (завжди) дає правильний результат. Однак гарна новина полягає в тому, що у мене є рішення із зразком робочого коду, який я окреслю в окремій відповіді.


Справді. Я просто перевірив це eclipse-java-luna-SR1a-win32-x86_64. Я включив вашу відповідь у моє вище. +1
VonC

Ви згадуєте "eclipse / configuration / config.ini", але не зазначаєте, що він легко доступний з коду Java за допомогою System.getProperty ("eclipse.buildId"). Я не впевнений, який був контекст оригінального питання, чи хотів він знайти його у файловій системі або під час виконання (всередині плагіна)?
Neeme Praks

Я підозрюю, що це було трохи обох, головним чином там, де ця інформація була записана.
VonC

1

На основі Neeme Praks " відповідь , наведений нижче код повинен дати вам версію Eclipse IDE , ви працюєте всередині.

У моєму випадку я працював із продуктом, що походить від затемнення, тому відповідь Неме просто дала мені версію цього продукту. ОП запитала, як знайти версію Eclipse , про що я пішов. Тому мені потрібно було зробити декілька змін, що привели мене до цього:

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

Це поверне вам зручне Version, яке можна порівняти таким чином:

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

Це здається точнішим, ніж моя стара відповідь 2010 року. Оновлено
VonC

0

Для Eclipse Kepler немає довідки> Про Eclipse, але я виявив, що це працює:

Затемнення> Про затемнення


Що ви маєте на увазі під "затемненням". Я не бачу цієї опції у рядку "Редагувати файли Навігація ...".
Уес

Я на Mac, тому є опція меню під назвою Eclipse, що зліва від параметра меню називається File.
Михайло Ософський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.