2009-03-24 4 views

答えて

6

eclipse3.4とp2 mechanism以来、あなたはURLを表し、org.eclipse.osgi.service.datalocation.Locationを使用coud。

インタフェースが含まれていること** ECLIPSE_HOME_FILTER**、日食ホームの場所を指定するサービス取得するためのフィルタ文字列を定義する定数(すなわち「eclipse.home.locationを」。)

しかしeclipse3.3で、ちょうどプロパティ値を照会

System.getProperty("eclipse.home.location"); 
5

インストールパスが必要な理由は少し疑問です。あなたのコード(プラグイン)は、インストールディレクトリ内のものに依存するべきではありません。インストールディレクトリに書き込むことを考えている場合。しないでください!あなたは共有インストールでそれを行うことはできませんし、とにかくそれは非常に悪い考えです。

あなたはたとえばあなたは、単にこのようなコードを使用することになり、プラグイン内のファイルにアクセスする必要がある場合:

Platform.getInstanceLocation().getURL().getPath(); 
+0

8年後のユーザーのワークスペースの場所を取得するには

Activator.getDefault().getBundle().getEntry(fileName); 

を、しかし、実際にはユースケースがあります。たとえば、SecurityManagerを実装していて、Eclipseディレクトリへの読み取り要求を自動的に許可したい場合などです。 Eclipseのクラスローダーがプラグインのjarファイルやその他のファイルを頻繁に読み込もうとすると、セキュリティリクエストに汚染がたくさんあります。 – Sipka

関連する問題