Я розмістив інформацію про те, як її знайти в Eclipse Gallileo, але якщо хтось має інформацію про старіші версії, сміливо опублікуйте її нижче.
Я розмістив інформацію про те, як її знайти в Eclipse Gallileo, але якщо хтось має інформацію про старіші версії, сміливо опублікуйте її нижче.
Відповіді:
(Оновлення вересня 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 складання:
Ось приклад для Eclipse 3.6M6:
Версія буде: 3.6.0.v201003121448 , після версії 3.6.0 та збіркою Id I20100312-1448 (збірка інтеграції з 12 березня 2010 о 14:00)
Щоб побачити його легше, натисніть «Деталі плагіна» та сортуйте за версією.
Примітка: Eclipse3.6 має абсолютно новий класний логотип:
І ви можете бачити Id збірки, який тепер відображається під час завантаження іншого плагіна.
У затемненні Галлілео:
На сторінці about (Довідка -> Про затемнення) є кілька піктограм у нижній частині діалогу. Сюди слід включити два, які є простим значком затемнення. Виберіть потрібну підказку "Eclipse.org". Eclipse має багато компонентів, кожен з яких має свій номер версії. Ядром є платформа Eclipse
Я думаю, найпростіший спосіб - прочитати файл readme всередині вашого каталогу Eclipse на шляху eclipse/readme/eclipse_readme
.
У самому верху цього файлу чітко вказується номер версії:
Для мого затьмарення Юнони; в ньому написано версію якRelease 4.2.0
якщо ви хочете отримати доступ до цього програмно, ви можете зробити це, з’ясувавши версію 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();
Ось робочий фрагмент коду, який буде роздруковувати повну версію поточного запущеного 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
який є правильним.
Для Eclipse Java EE IDE IDE - Indigo: Довідка> Про Eclipse> Eclipse.org (третя з останніх). У розділі "Про платформу Eclipse" знайдіть Eclipse Platform, і ви матимете версію під стовпцем версії. Сподіваюся, це допомагає користувачам J2EE Indigo.
Існує системна властивість 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
На основі 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;
}
Для Eclipse Kepler немає довідки> Про Eclipse, але я виявив, що це працює:
Затемнення> Про затемнення