Jar URL协议解析

Jar URL格式

jar:<url>!/{entry} 如:jar:http://www.example.com/ex.jar!/com/demo/Class.class

Jar URL作用

  作用: Jar包中资源文件的路径表示

Jar URL分类

  1. Jar file(Jar包本身):jar:http://www.foo.com/bar/baz.jar!/
  2. Jar entry(Jar包中某个资源文件):jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class
  3. Jar directory(Jar包中某个目录):jar:http://www.foo.com/bar/baz.jar!/COM/foo/

Jar URL处理器

  JDK内置的sun.net.www.protocol.jar.Handler,具体实现查看这里

Jar URL存在问题

  无法表示嵌套Jar包中的资源,由sun.net.www.protocol.jar.Handler的实现决定的,解决方案查看FatJar技术。
  
参考:

  1. JDK JarURLConnection类;
  2. https://github.com/frohoff/jdk8u-jdk/blob/master/src/share/classes/sun/net/www/protocol/jar/Handler.java
  3. https://blog.csdn.net/u012986057/article/details/50563621

猜你喜欢

转载自blog.csdn.net/yangguosb/article/details/80761883
jar
今日推荐