可能由于此错误或Java错误数据库中的许多类似错误中的任何一个:
http://bugs.sun.com/view_bug.do?bug_id=4523159
原因是jar URL中的“!/”被解释为JAR文件名和JAR自身内的路径之间的分隔符。如果目录名称以!结尾,则目录末尾的“!/”字符序列将被错误地解释。就您而言,您实际上是在尝试使用以下URL访问资源:
jar:文件:/// d:/ test1231 @#!!! /test.jar!/images/Logo.png
该漏洞已经开放了将近12年,并且不太可能得到修复。
实际上,我不知道如何在不破坏其他事物的情况下进行修复。该
问题是设计决定使用!
在JAR文件的URL方案中作为具有特殊含义的字符(分隔符):
jar:<URL for JAR file>!/<path within the JAR file>
由于感叹号是URL中允许使用的字符,因此它既可能出现在JAR文件本身的URL中,也可能出现在JAR文件中的路径中,
因此在某些情况下无法找到实际的“!/”分隔符。 。



