gesellix/docker-client

prepare JDK9 compatibility

Closed this issue · 1 comments

We already considered using OkHttp in #26 as possible alternative to the current sun.net.* dependencies.

See jdep output for details:

$ <jdk9>/bin/jdeps -jdkinternals ./docker-client.jar 
docker-client.jar -> java.base
   de.gesellix.docker.client.protocolhandler.DockerContentHandlerFactory (docker-client.jar)
      -> sun.net.www.content.text.plain                     JDK internal API (java.base)
   de.gesellix.docker.client.protocolhandler.urlstreamhandler.HttpOverNamedPipeClient (docker-client.jar)
      -> sun.net.NetworkClient                              JDK internal API (java.base)
      -> sun.net.www.MessageHeader                          JDK internal API (java.base)
      -> sun.net.www.http.HttpClient                        JDK internal API (java.base)
      -> sun.net.www.http.PosterOutputStream                JDK internal API (java.base)
   de.gesellix.docker.client.protocolhandler.urlstreamhandler.HttpOverNamedPipeClient$_printHeaders_closure1 (docker-client.jar)
      -> sun.net.www.MessageHeader                          JDK internal API (java.base)
   de.gesellix.docker.client.protocolhandler.urlstreamhandler.HttpOverNamedPipeURLConnection (docker-client.jar)
      -> sun.net.www.http.HttpClient                        JDK internal API (java.base)
      -> sun.net.www.protocol.http.Handler                  JDK internal API (java.base)
      -> sun.net.www.protocol.http.HttpURLConnection        JDK internal API (java.base)
   de.gesellix.docker.client.protocolhandler.urlstreamhandler.HttpOverUnixSocketClient (docker-client.jar)
      -> sun.net.NetworkClient                              JDK internal API (java.base)
      -> sun.net.www.http.HttpClient                        JDK internal API (java.base)
   de.gesellix.docker.client.protocolhandler.urlstreamhandler.HttpOverUnixSocketURLConnection (docker-client.jar)
      -> sun.net.www.http.HttpClient                        JDK internal API (java.base)
      -> sun.net.www.protocol.http.Handler                  JDK internal API (java.base)
      -> sun.net.www.protocol.http.HttpURLConnection        JDK internal API (java.base)

Warning: JDK internal APIs are unsupported and private to JDK implementation that are
subject to be removed or changed incompatibly and could break your application.
Please modify your code to eliminate dependency on any JDK internal APIs.
For the most recent update on JDK internal API replacements, please check:
https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool

with the new release based on OkHttp in place, the docker client is ready for JDK9.