2012-07-27 15 views
8

Pracuję nad wtyczką, która przekazuje URI lokalizacji bieżącego obszaru roboczego do innej metody.jak uzyskać identyfikator URI lokalizacji Eclipse Workspace

IWorkspace workspace = ResourcesPlugin.getWorkspace(); 

Jestem bardzo nowy w Eclipse PDE. Jaka metoda zwraca położenie URI obszaru roboczego. dla Ex, jeśli obszar roboczy to C: \ Eclipse \ Workspace. Muszę ścieżkę C: \ eclipse \ Workspace

Odpowiedz

12

chcesz:

ResourcesPlugin.getWorkspace().getRoot().getLocation().toString(); 
+0

dzięki temu zadziałało – VamsiKrishna

1

uzyskać bezwzględną ścieżkę systemu plików z dowolnego zasobu:

IResource.getLocation() 
5

Czy na pewno chcesz obszaru roboczego URL? Jedyne, na co możesz polegać, to że będzie zawierał folder .metadata - wszystko inne może znajdować się w innym miejscu:

  1. Projekty można tworzyć poza obszarem roboczym.
  2. Pliki/foldery obszaru roboczego mogą w rzeczywistości stanowić łącza do zasobów zewnętrznych (które mogą nie być plikami lokalnymi).

Moja rekomendacja:

  1. Jeśli chcesz znaleźć jakieś środki - użyj IResource :: getLocationURI i sprawdzić, czy jest to plik lokalny (można pobrać zawartości, jeśli adres URL jest EFS)
  2. Jeśli chcesz uzyskać dostęp do swoich danych wtyczek (czyli w .metadata) używać Plugin.getStateLocation
  3. Jeśli nadal uważasz, że potrzebujesz korzeń obszar roboczy - Platform.getInstanceLocation
+2

+1. Normalne wtyczki Eclipse powinny zawsze działać bez wiedzy o lokalizacji systemu plików absolut. – Bananeweizen

Powiązane problemy