我正在将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处理程序,因为它在基包中的类中不可见。
发布于 2021-09-28 10:57:43
的最佳翻译
URL url = new URL(null, strServletUrl,
new sun.net.www.protocol.https.Handler());是:
URL url = new URL(strServletUrl);除非发生了一些奇怪的事情,否则显式实例化内置协议的标准流协议处理程序是没有意义的。只需让JVM以标准方式查找处理程序即可。这样你的代码就不需要显式地依赖于这个(内部)类了。
如果发生了一些奇怪的>is<问题,那么您现在可以使用--add-exports来解决这个问题。但是,随着对内部API的访问逐渐关闭,这很容易在较新版本的Java中停止工作。
所以我的建议是想出别的办法...任何需要这个的东西。
https://stackoverflow.com/questions/69357732
复制相似问题