Пошук номера версії 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.