package sun.net.www.protocol.https is not visible



我正在将java应用程序从java-8迁移到java-11,面临一个问题包sun.net.www.protocol.https不可见。我的代码是URL URL = new URL(null, strServletUrl, new sun.net.www.protocol.https.Handler());

所以如何在java-11中获得HTTPS处理程序,因为它在基包中不可见。

最佳翻译

URL url = new URL(null, strServletUrl, 
new sun.net.www.protocol.https.Handler());

:

URL url = new URL(strServletUrl);

除非发生了一些奇怪的事情,否则没有必要显式地为内置协议实例化标准流协议处理程序。只要让JVM以标准方式找到处理程序即可。这样你的代码就不需要显式地依赖于这个(内部)类了。


如果有奇怪的事情>继续,那么您现在可以使用--add-exports解决这个问题。然而,随着对内部api的访问逐渐关闭,这在较新版本的Java中很容易停止工作。

所以我的建议是找出一些其他的方法来做…

相关内容

最新更新