Dynamically loading Jar and instanciate an Object of a loaded Class

喜欢而已 提交于 2019-12-01 00:24:41
Mike Samuel

It looks like your file URL is invalid.

"File URIs in Windows" says

For the local Windows file path

C:\Documents and Settings\davris\FileSchemeURIs.doc

The corresponding valid file URI in Windows is:

file:///C:/Documents%20and%20Settings/davris/FileSchemeURIs.doc

which shows that three slashes are needed after the colon, but the URL you are computing in

String filePath = new String("C:/Users/Mehdi/Desktop/JavaClassLoader/jarred.jar");

URL myJarFile = null;
try {
    myJarFile = new URL("file://"+filePath);

has only two slashes after the file:. Perhaps

    myJarFile = new URL("file://"+filePath);

should be

    myJarFile = new URL("file:///"+filePath);

or alternatively you could use java.io.File.toURI thus

File myJarFile = new File("C:\\Users\\Mehdi\\Desktop\\JavaClassLoader\\jarred.jar");
if (!myJarFile.isFile()) {
  throw new FileNotFoundException("Missing required JAR: " + myJarFile.toString());
}
URL myJarUrl = myJarFile.toURI().toURL();

with appropriate exception handling.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!