Napisałem, jak znaleźć to w Eclipse Gallileo, ale jeśli ktoś ma informacje o starszych wersjach, to śmiało zamieść je poniżej.
Napisałem, jak znaleźć to w Eclipse Gallileo, ale jeśli ktoś ma informacje o starszych wersjach, to śmiało zamieść je poniżej.
Odpowiedzi:
(Aktualizacja wrzesień 2012):
MRT zwraca uwagę w komentarzach, że pytanie „ Wersja Eclipse ” odnosi się do a .eclipseproduct
w głównym folderze i zawiera:
name=Eclipse Platform
id=org.eclipse.platform
version=3.x.0
Wydaje się to więc prostsze niż moja pierwotna odpowiedź poniżej.
Ponadto Neeme Praks wspomina poniżej, że istnieje eclipse/configuration/config.ini
wiersz, który zawiera taki wiersz:
eclipse.buildId=4.4.1.M20140925-0400
Ponownie łatwiejsze do znalezienia, ponieważ są to właściwości Java ustawione i znalezione za pomocą System.getProperty("eclipse.buildId")
.
Oryginalna odpowiedź (kwiecień 2009)
W przypadku Eclipse Helios 3.6 wersję platformy Eclipse można wywnioskować bezpośrednio z ekranu Informacje:
Jest to połączenie wersji globalnej Eclipse i identyfikatora kompilacji:
Oto przykład dla Eclipse 3.6M6:
Wersja byłaby: 3.6.0.v201003121448 , po wersji 3.6.0 i identyfikatorze kompilacji I20100312-1448 (kompilacja integracji z 12 marca 2010 r. O godzinie 14.48
Aby łatwiej to zobaczyć, kliknij „Szczegóły wtyczki” i posortuj według wersji.
Uwaga: Eclipse3.6 ma zupełnie nowe fajne logo:
I możesz zobaczyć identyfikator kompilacji, który jest teraz wyświetlany podczas ładowania innej wtyczki.
W Eclipse Gallileo:
Strona Informacje (Pomoc -> O Eclipse) ma kilka ikon w dolnej części okna dialogowego. Powinno to obejmować dwie, które są zwykłą ikoną Eclipse. Wybierz ten z etykietką „Eclipse.org”. Eclipse ma wiele komponentów, z których każdy ma swój własny numer wersji. Rdzeniem jest Platforma Eclipse
Myślę, że najłatwiejszym sposobem jest odczytanie pliku readme w katalogu Eclipse pod ścieżkąeclipse/readme/eclipse_readme
.
Na samej górze tego pliku wyraźnie wskazuje numer wersji:
For My Eclipse Juno; mówi wersja jakoRelease 4.2.0
jeśli chcesz uzyskać do tego dostęp programowo, możesz to zrobić, sprawdzając wersję wtyczki 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();
Oto działający fragment kodu, który wydrukuje pełną wersję aktualnie działającego Eclipse (lub dowolnej aplikacji opartej na 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());
}
}
}
}
}
Wyszukuje aktualnie działające rozszerzenie „produkt” i pobiera wersję wtyczki, z której pochodzi.
Na Eclipse Luna 4.4.0 daje wynik, 4.4.0.20140612-0500
który jest poprawny.
Dla Eclipse Java EE IDE - Indigo: Pomoc> O Eclipse> Eclipse.org (trzeci od ostatniego). W sekcji „Informacje o platformie Eclipse” znajdź platformę Eclipse, a wersja zostanie wyświetlona pod kolumną Wersja. Mam nadzieję, że to pomoże użytkownikom J2EE Indigo.
Istnieje właściwość systemowa eclipse.buildId (na przykład dla Eclipse Luna mam tam wartość 4.4.1.M20140925-0400 ).
Nie jestem pewien, w której wersji Eclipse ta właściwość stała się dostępna.
Zanurkuj również od razu i zbadaj wszystkie dostępne właściwości systemu - w przestrzeniach nazw eclipse. *, Os. * Osgi. * I org.osgi. * Jest sporo informacji.
AKTUALIZACJA!
Po eksperymentach z różnymi wersjami Eclipse wydaje się, że eclipse.buildId
właściwość systemu nie jest właściwą drogą. Na przykład w Eclipse Luna 4.4.0 daje wynik, 4.4.2.M20150204-1700
którego wynik jest oczywiście nieprawidłowy.
Podejrzewam eclipse.buildId
, że właściwość systemu jest ustawiona na wersję org.eclipse.platform
wtyczki. Niestety nie daje to (zawsze) prawidłowego wyniku. Jednak dobrą wiadomością jest to, że mam rozwiązanie z działającym przykładem kodu, który opiszę w osobnej odpowiedzi.
eclipse-java-luna-SR1a-win32-x86_64
. Twoja odpowiedź zawarłem powyżej. +1
Na podstawie Neeme Praks ' odpowiedź , poniższy kod powinien dać wersję Eclipse IDE masz uruchomiony wewnątrz.
W moim przypadku korzystałem z produktu pochodzącego z zaćmienia, więc odpowiedź Neeme podała mi tylko wersję tego produktu. OP zapytał, jak znaleźć wersję Eclipse , po co mi chodzi. Dlatego musiałem dokonać kilku zmian, które doprowadziły mnie do tego:
/**
* 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;
}
To zwróci Ci wygodę Version
, którą można porównać w ten sposób:
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;
}
W przypadku Eclipse Kepler nie ma pomocy> O Eclipse, ale okazało się, że to działa:
Eclipse> O Eclipse