私はそれをEclipse Gallileoで見つける方法を投稿しましたが、誰かが古いバージョンの情報を持っている場合は、以下に投稿してください。
私はそれをEclipse Gallileoで見つける方法を投稿しましたが、誰かが古いバージョンの情報を持っている場合は、以下に投稿してください。
回答:
(2012年9月更新):
MRT はコメントの中で、「Eclipseバージョン」の質問.eclipseproduct
がメインフォルダー内のa を参照していることを指摘しており、次の内容が含まれています。
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年4月)
Eclipse Helios 3.6の場合、バージョン情報画面から直接Eclipseプラットフォームバージョンを推定できます。
これは、EclipseグローバルバージョンとビルドIDの組み合わせです。
Eclipse 3.6M6の例を次に示します
。バージョンは3.6.0.v201003121448で、バージョン3.6.0とビルドID I20100312-1448(2010年3月12日14h48の統合ビルド)の後になります。
より簡単に表示するには、「プラグインの詳細」をクリックして、バージョンで並べ替えます。
注:Eclipse3.6には新しいクールなロゴがあります。
そして、異なるプラグインのロードステップ中に表示されているビルドIDを確認できます。
パスであなたのEclipseディレクトリ内のreadmeファイルを読むのが最も簡単な方法だと思いますeclipse/readme/eclipse_readme
です。
このファイルの最上部には、バージョン番号が明確に示されています。
My Eclipse Junoの場合。それはバージョンを言いますRelease 4.2.0
以下は、現在実行中の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.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から派生した製品で実行していたので、Neemeの回答からその製品のバージョンがわかりました。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の場合、ヘルプ> Eclipseについてはありませんが、次のように動作します。
Eclipse> Eclipseについて