2017-05-08 54 views
0

如何將IPath轉換爲URL。就我而言,我想將Java項目的輸出位置轉換爲URL,以便我可以從那裏加載URLClassLoader的類。我的代碼如下所示:Eclipse - 將IPath轉換爲URL

javaProject.getProject().build(IncrementalProjectBuilder.FULL_BUILD, null); 

URL url = new File(javaProject.getOutputLocation().toFile().getAbsolutePath()).toURI().toURL(); 
URL[] urls = new URL[] { url }; 
URLClassLoader classLoader = new URLClassLoader(urls); 
Class<?> c = classLoader.loadClass(fully-qualified-class-name); 

的問題是,該URL只是一個相對的一個,也就是它的字符串表示是file:/C:/com.florianingerl.regexfindandreplace.matchevaluators/bin,但它應該是這樣的file:/C:/Users/Hermann/runtime-EclipseApplication/com.florianingerl.regexfindandreplace.matchevaluators/bin

URLClassLoader找不到類明顯。

任何幫助表示讚賞。

回答

0

您可以使用類似:

IPath path = javaProject.getOutputLocation(); 

IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path); 

URI uri = file.getLocationURI(); 

URL url = uri.toURL();