This is apparently a Java problem (more than an error). The JAR URL uses !/ As a delimiter, but does not escape it when it appears inside the file path.
You can try to escape from it yourself, turn Ares!!!/ into Ares!!%21/ , but save myfile.jar!/ As it is.
According to RFC3986,! is a reserved char delimiter. Therefore, it is safe to use it to separate different parts in a URL; when it appears inside the part, it must be escaped as %21
However, the Java code associated with the JAR URL seems to follow the older RFC2396 in which ! was an unconditional char. For Java, it was unreasonable to choose an unconditional char as a delimiter. And when he did, he should at least internally escape it, as if a char were reserved.
source share