On 19/11/2019 20:22, David Lloyd wrote:
:
Where can the updated specification be found?  It has in the past been
clearly specified and well understood that class path entries are
interpreted as relative URLs.  If that has changed then this will
definitely break Quarkus and perhaps other applications as well.

A Google search for "JAR file specification" only seems to turn up
older versions (JDK 10 and earlier).
One way to quickly get to it is type "java.util.jar" into the javadoc search box and it is linked from the package description. So for the JDK 13 published on jdk.java.net it is:
https://docs.oracle.com/en/java/javase/13/docs/specs/jar/jar.html#class-path-attribute

The value is a relative URL, same as always, it's just that the implementation is less tolerant of bad input. The stricter checking has been in place for a few releases, controlled by the system property mentioned in the discussion here.

It's always hard to dial up checking after the fact and one of the main challenges has been mis-uses where tools have been putting file paths (rather than URL) or absolute URLs into the value. This is the reason why the spec now allows absolute file URLs (need to specify the "file:" scheme).

-Alan

Reply via email to