working around the deprecation of public URL constructors (JDK-8294241)

Rick Hillegas rick.hillegas at gmail.com
Thu Dec 15 19:14:15 UTC 2022


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:

- JDK-8294241: Deprecate URL public constructors

I naively tried to fix these warnings by changing instances of

   new URL(urlString)


to

   (new URI(urlString)).toURL()


Unfortunately, this breaks the Derby code. When I test Derby, I see 
errors like the following:

java.lang.IllegalArgumentException: URI is not absolute
     at java.base/java.net.URL.of(URL.java:854)
     at java.base/java.net.URI.toURL(URI.java:1144)
     at org.apache.derby.impl.store.raw.RawStore.backup(RawStore.java:641)

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.

Thanks,
-Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/net-dev/attachments/20221215/e26a4e6a/attachment.htm>


More information about the net-dev mailing list