2013-07-30 39 views
0

我收到錯誤URI方案不是「文件」插件錯誤

URI方案不是「文件」

後,我跑,我試圖創建插件。該錯誤是由下面的方法拋出:

protected File getFile(String fileName) throws URISyntaxException { 
    System.out.println(fileName); 

    URI binUri = EpsilonStandaloneExample.class.getResource(fileName).toURI(); 
    URI uri = null; 
    System.out.println(uri); 
    if (binUri.toString().indexOf("bin") > -1) { 
     uri = new URI(binUri.toString().replaceAll("bin", "src")); 
    } 
    else { 
     uri = binUri; 
    } 
    System.out.println(uri); 
    return new File(uri); 
} 

當我運行我的類作爲一個Java應用程序一切正常,我得到正確的路徑是:

file:/E:/epsilon-eclipse/workspace/Test2/src/org/eclipse/epsilon/examples/standalone/egl/oxfordDriver.egl 

現在,我實現一個插件,運行這段代碼返回的URI是:

bundleresource://652.fwk1463565218/org/eclipse/epsilon/examples/standalone/egl/oxfordDriver.egl 

這URI是不正確的和這就是爲什麼錯誤被拋出。

有關如何解決此問題的任何建議?

回答

0

我假設你想加載一個文件,它是你插件中資源的一部分。這是不可能使用文件路徑的,因爲插件中的所有資源都是使用bundle相對URL解析的(並且bundle本身可能被部署爲jar文件,所以甚至不是普通文件)。看看reading resources from a plugin

另外請確保你add those files to your build.properties(請參見「二進制版本」一節)。將文件放在插件項目中是不夠的。