2017-12-13 1 views
1

Wie kann ich in meiner RCP 4-App den Arbeitsbereichspfad der App abrufen? Ich habe versucht, einige, aber nicht bestanden:Wie aktualisiere ich den aktuellen Arbeitsbereich in der RCP 4 App?

ResourcesPlugin.getWorkspace().getRoot(); //Cannot used in RCP 4 app 
URL fileURL = FileLocator.find(Platform.getProduct().getDefiningBundle(),new Path("/"), null); //is not workspace 
Location instanceLocation = Platform.getInstanceLocation(); // the same as getInstallLocation() 
String s = System.getProperty("eclipse.workspace"); // 

Bitte helfen Sie! Vielen Dank!

Antwort

0

Platform.getInstanceLocation() sollte funktionieren, aber Sie müssen Code im Start hinzufügen, um einen Speicherort festzulegen, wenn einer nicht festgelegt ist, indem Sie die Befehlszeilenoption -data angeben.

Etwas wie:

Location instanceLoc = Platform.getInstanceLocation(); 
// TODO check for null 

if (!instanceLoc.isSet()) { 
    URL url = .... work out a location for the workpace 

    instanceLoc.set(url, false); 
} 

Ich betreibe Code wie dies in der @PostContextCreate Methode der LifeCycle-Klasse.

Hinweis: Rufen Sie die Methode Location.getURL erst auf, wenn Sie den Standort wie oben beschrieben eingerichtet haben. Wenn Sie zuvor getURL aufrufen, wird ein Standard für den Installationsort festgelegt (was Sie testen).

Verwandte Themen