URI 方案不是"file"插入错误



我得到错误

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不正确,这就是抛出错误的原因。

对如何解决这个问题有什么建议吗?

我假设您想要加载一个文件,该文件是插件中资源的一部分。使用文件路径是不可能的,因为插件中的所有资源都是使用捆绑包相对URL解析的(捆绑包本身可能部署为jar文件,因此甚至没有正常的文件)。看看从插件中读取资源。

还要确保将这些文件添加到build.properties中(请参阅"二进制构建"一节)。仅仅把这些文件放在插件项目中是不够的。

最新更新