2012-08-29 31 views
1

我正在開發一個RCP項目來構建建模器。現在我想爲我的應用程序配置工作區,我發現這個article並且只是遵循它。但是,當我打電話在RCP應用程序中配置工作區

ResourcesPlugin.getWorkspace().getRoot() 

所有它返回給我是一個plash「/」。

上面調用作出之前,我已經配置了我的產品,像參數運行:

-os ${target.os} -arch ${target.arch} -nl ${target.nl} -consoleLog -data @noDefault 

,並設置在像Application.java的啓動方法工作區:

Location instanceLoc = Platform.getInstanceLocation(); 
instanceLoc.set(new URL("file", null, "d:\\temp"), false); 

我知道我錯過了但我無法弄清楚。請幫助我。

非常感謝!

+0

你的問題是什麼? - 請澄清你的問題? –

+0

對不起,湯姆,我的問題是爲什麼getWorkspace()。getRoot()返回只是一個「/」,而我需要的是「D:/ temp」 – nautilusvn

+0

您不能在RCP應用程序中以編程方式設置位置。你的config.in指定了「@ noDefault」還是「@ none」? –

回答

1

改爲使用ResourcesPlugin.getWorkspace().getRoot().getLocation()

一般來說:Workspace API是文件系統的抽象,所以它不知道任何關於底層系統存儲文件的細節,最高的元素是workspace-root。

+0

謝謝湯姆,我根據你的想法解決了這個問題。這是我愚蠢的嘗試創建一個文件(作爲資源)脫離「項目」對象的上下文。調用'projectObject.getWorkspace()'使得我的函數按我期望的那樣工作。我的新問題是在RCP App中處理資源「Project」,但這是另一回事。再次感謝! – nautilusvn