我有一个接受文件作为输入的应用程序。 由于文件位于不同的位置,因此路径将相对于.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”?
答案 0 :(得分:6)
我猜D:被解释为一个方案。请尝试使用'URI.createFileURI()'。