<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    On 15/12/2022 19:14, Rick Hillegas wrote:<br>
    <blockquote type="cite" cite="mid:7ba5f1d2-deff-b6f0-110d-86b41d681475@gmail.com">
      
      <p>I see many warnings when I build Apache Derby's code and
        javadoc with Open JDK build 20-ea+27-2213. In particular, I see
        a number of warnings introduced by the following change:<br>
        <br>
        - JDK-8294241: Deprecate URL public constructors <br>
        <br>
        I naively tried to fix these warnings by changing instances of<br>
        <br>
      </p>
      <pre>  new URL(urlString)</pre>
      <p><br>
        to<br>
        <br>
      </p>
      <pre>  (new URI(urlString)).toURL()</pre>
      <p><br>
        Unfortunately, this breaks the Derby code. When I test Derby, I
        see errors like the following:<br>
        <br>
        java.lang.IllegalArgumentException: URI is not absolute<br>
            at java.base/java.net.URL.of(URL.java:854)<br>
            at java.base/java.net.URI.toURL(URI.java:1144)<br>
            at
        org.apache.derby.impl.store.raw.RawStore.backup(RawStore.java:641)<br>
        <br>
        Can you give me advice about the best way to workaround the
        deprecation of the public URL constructors? I am looking for a
        solution which handles relative URL strings.<br>
      </p>
    </blockquote>
    URL::toURL is specified to throw if the URI is not absolute although
    the IAE may be a bit surprising as there isn't any arguments.<br>
    <br>
    Can you give an example of the "relative URL strings" so we can at
    least see which URI scheme this is.<br>
    <br>
    -Alan.<br>
  </body>
</html>