2009-03-24 2 views

Répondre

6

Depuis eclipse3.4 et p2 mechanism, vous Coud utiliser org.eclipse.osgi.service.datalocation.Location, ce qui représente une URL.

Cette interface comprend ** ECLIPSE_HOME_FILTER**, une constante qui définit la chaîne de filtre pour l'acquisition du service qui spécifie l'éclipse emplacement de la maison (par exemple « eclipse.home.location ».)

Mais Eclipse3.3, juste interroger la valeur de la propriété « eclipse.home.location », comme dans:

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

Il est un peu se demander pourquoi vous auriez besoin le chemin d'installation. Votre code (un plugin) ne doit pas dépendre de quoi que ce soit dans le répertoire d'installation. Si vous envisagez d'écrire dans le répertoire d'installation. Ne pas! Vous ne serez pas en mesure de le faire dans une installation partagée et c'est une très mauvaise idée de toute façon.

Si par exemple vous avez besoin d'accéder à un fichier dans votre plugin vous suffit d'utiliser le code comme ceci:

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

Pour obtenir l'emplacement des utilisateurs WorkSpace

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

8 ans plus tard, mais il y a en fait un cas d'utilisation. Par exemple, si vous implémentez un SecurityManager et que vous souhaitez autoriser automatiquement les demandes de lecture dans le répertoire Eclipse. Sinon, il y a beaucoup de pollution dans les demandes de sécurité, car les classloaders Eclipse essaient souvent de lire les fichiers jar plugin et d'autres fichiers. – Sipka

Questions connexes