我不相信试图通过URL构造函数创建Jar URL,因为它可能不同于通过调用
File.toURI().toURL()
(构成有效URL)。
这里有一个例子。
import java.net.URL;
import java.io.File;
public class JarURL {
public static void main(String[] args) throws Exception {
File f = new File("C:\\the.jar");
URL jarUrl1 = new URL("jar", "", f.getAbsolutePath() + "!/");
URL jarUrl2 = f.toURI().toURL();
System.out.println("jarUrl1: " + jarUrl1);
System.out.println("jarUrl2: " + jarUrl2);
}
}
产生输出:
jarUrl1: jar:C:\the.jar!/
jarUrl2: file:/C:/the.jar