Java URI方案不是;文件";插入错误
我发现了错误 URI方案不是“文件” 在我运行我试图创建的插件之后。错误是从以下方法引发的:Java URI方案不是;文件";插入错误,java,file,eclipse-plugin,uri,epsilon,Java,File,Eclipse Plugin,Uri,Epsilon,我发现了错误 URI方案不是“文件” 在我运行我试图创建的插件之后。错误是从以下方法引发的: protected File getFile(String fileName) throws URISyntaxException { System.out.println(fileName); URI binUri = EpsilonStandaloneExample.class.getResource(fileName).toURI(); URI uri = null;
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文件,因此甚至没有普通文件)。看一看 还要确保您(请参阅“二进制构建”一节)。仅仅在插件项目中放置文件是不够的