Я опубликовал, как найти его в Eclipse Gallileo, но если у кого-то есть информация о более старых версиях, не стесняйтесь размещать ее ниже.
Я опубликовал, как найти его в Eclipse Gallileo, но если у кого-то есть информация о более старых версиях, не стесняйтесь размещать ее ниже.
Ответы:
(Обновление от сентября 2012 г.):
MRT указывает в комментариях, что вопрос « Версия Eclipse » ссылается на a .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 можно определить прямо из экрана «О программе»:
это комбинация глобальной версии Eclipse и идентификатора сборки:
Вот пример для Eclipse 3.6M6:
Версия будет: 3.6.0.v201003121448 , после версии 3.6.0 и идентификатора сборки I20100312-1448 (сборка интеграции от 12 марта 2010 г., 14:48
Чтобы упростить просмотр, нажмите «Сведения о плагине» и отсортируйте его по версии.
Примечание: у Eclipse3.6 появился новый крутой логотип:
И вы можете видеть, что идентификатор сборки теперь отображается на этапе загрузки другого плагина.
В Eclipse Gallileo:
На странице информации (Справка -> О Eclipse) есть несколько значков внизу диалогового окна. Он должен включать два, которые представляют собой простой значок Eclipse. Выберите тот с всплывающей подсказкой «Eclipse.org». Eclipse состоит из множества компонентов, каждый из которых имеет собственный номер версии. Ядро - платформа Eclipse
Я думаю, самый простой способ - прочитать файл readme внутри вашего каталога Eclipse по путиeclipse/readme/eclipse_readme
.
В самом верху этого файла четко указан номер версии:
Для моего затмения Юнона; он говорит версию какRelease 4.2.0
если вы хотите получить доступ к этому программно, вы можете сделать это, выяснив версию 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();
Вот фрагмент рабочего кода, который распечатает полную версию работающего в данный момент 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());
}
}
}
}
}
Он ищет текущее работающее расширение «продукт» и принимает версию подключаемого модуля.
На Eclipse Luna 4.4.0 дает 4.4.0.20140612-0500
правильный результат.
Для Eclipse Java EE IDE - Indigo: Справка> О Eclipse> Eclipse.org (третий с последнего). В разделе «О платформе Eclipse» найдите платформу Eclipse, и у вас будет версия под столбцом версии. Надеюсь, это поможет пользователям J2EE Indigo.
Есть системное свойство eclipse.buildId (например, для Eclipse Luna у меня 4.4.1.M20140925-0400 ).
Я не уверен, в какой версии Eclipse стало доступно это свойство.
Кроме того, погрузитесь прямо в и изучите все доступные системные свойства - довольно много информации доступно в пространствах имен eclipse. *, Os. * Osgi. * И org.osgi. *.
ОБНОВИТЬ!
После экспериментов с разными версиями Eclipse выяснилось, что eclipse.buildId
свойство system - это не лучший вариант. Например, в 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, поэтому ответ Неэме просто дал мне версию этого продукта. OP спросил, как найти версию 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 нет Help> About Eclipse, но я обнаружил, что это работает:
Eclipse> Об Eclipse