2013-11-29 35 views
4

我有一個接受文件作爲輸入的應用程序。 由於文件位於不同的位置,路徑將相對於.jar位置。Xtext錯誤:需要註冊資源工廠

示例: D:\ Test \ JAVA_App \ Exe是放置tester.jar的地方。 所以當在Windows命令行運行,我這樣做: tester.jar d:\測試\ JAVA_App \ Exe文件.... \ testcase1.txt

要處理的文件,我的代碼是從調用的ResourceSet組織.eclipse.emf.ecore.resource.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」?

回答

6

我想D:被解釋爲一個方案。嘗試使用'URI.createFileURI()'。

+0

這適用於我。但是與我輸入的內容相比,createFileURI給了我不同的路徑。這隻有在路徑長度大約爲190個字符時纔會發生。 實施例: 'd:\ 01_Work \ 01_Testcases \ Testcases_01 \工具集\ Modulars \ TC \ TESTS \ TESTS_V2 \ SRC \ TXT .. \ DOC \ ToolUsages \ NormalUser \ CombinedNotifications \ UnregisteredUsersX _ ** P ** rio_199 \ Normal_user_daytime_133_to_134.txt ' getResource讀取的路徑爲: 'D:\ 01_Work \ 01_Testcases \ Testcases_01 \ ToolSet \ Modulars \ TC \ TESTS \ TESTS_V2 \ SRC \ TXT .. \ DOC \ ToolUsages \ NormalUser \ CombinedNotifications \ UnregisteredUsersX_rio_199 \ Normal_user_daytime_133_to_134.txt' –