2009-03-24 3 views

ответ

6

С eclipse3.4 и p2 mechanism, вы coud использовать org.eclipse.osgi.service.datalocation.Location, который представляет собой URL.

Этот интерфейс включает в себя ** ECLIPSE_HOME_FILTER**, константа, которая определяет строку фильтра для получения сервиса, который определяет местоположение дома затмение (т.е. «eclipse.home.location».)

Но в eclipse3.3, просто запросить значение свойства «eclipse.home.location», как в:

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

это немного сомнительно, поэтому вам нужно будет путь установки. Ваш код (плагин) не должен зависеть от чего-либо в каталоге установки. Если вы подумываете писать в каталог установки. Не надо! Вы не сможете сделать это в общей установке, и это очень плохая идея.

Если вы, например, необходимо получить доступ к файлу внутри вашего плагина вы бы просто использовать такой код:

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

Чтобы получить расположение пользователей рабочее пространство

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

8 лет спустя, но на самом деле существует прецедент. Например, если вы внедряете SecurityManager и хотите автоматически разрешать запросы чтения в каталог Eclipse. Кроме того, в запросах безопасности много загрязнений, так как загрузчики классов Eclipse пытаются часто читать плагины и другие файлы. – Sipka

Смежные вопросы