我有一个接受文件作为输入的应用程序。
由于文件位于不同的位置,因此路径将相对于.jar位置。

例:
D:\ Test \ JAVA_App \ Exe是放置tester.jar的位置。
因此,当在Windows命令行中运行时,我这样做:
tester.jar D:\ Test \ JAVA_App \ Exe .... \ testcase1.txt

为了处理文件,我的代码从org.eclipse.emf.ecore.resource.ResourceSet调用ResourceSet。
这是我的代码:

ResourceSet set = resourceSetProvider.get()
Resource resource = set.getResource(URI.createURI(<inputted path of file>))

我发现“需要注册资源工厂”错误不是由不正确的路径引起的(如果我在命令行中运行整个路径,则可以将其打开),而是由于两者之间存在“.. \”。如果仅使用“.... \ testcase1.txt”,则效果很好。但是,如果其开头以“.. \”开头为“D:\”,则会发生错误。

还有没有其他方法可以在xtext中使用“D:\ Test \ JAVA_App \ Exe .... \ testcase1.txt”?

最佳答案

我想D:被解释为一个方案。尝试改用“URI.createFileURI()”。

09-08 07:44