我目前正在Java9〜10中通过this访问HTTP / 2客户端.
Java 9确实具有HttpRequest.BodyProcessor接口,而Java 10没有HttpRequest.BodyProcessor,但是确实具有HttpRequest.BodyPublisher.两个接口都是相似的.
Java为什么更改接口名称?我认为向后兼容性被忽略了.
解决方法:
带有Java 9和10的HttpClient
has been a part of an incubator module.因此,人们看到的是更多的原型工作,尽管理想情况下应该不会有太大变化,但不能保证相同.
An incubating feature is an API of non-trivial size that is under
development for eventual inclusion in the Java SE Platform, or the
JDK, but is not yet sufficiently proven.
如果您希望使用标准模块,则可以在Java 11中使用它,其名称为java.net.http
.[请注意,其标记为Java 11以后的版本,而不是9或10.
如果您已经在Java9 / 10中使用HttpClient,那么The jdk.incubator.httpclient module not found in Java11可以帮助您迁移HttpClient在Java 11中的用法.
稍微偏离主题:如果您可以比较两个JDK中的源代码,您会发现与Java 10和Java 11中的状态相比,BodyPublisher中的方法都有更新.
标签:java-10,java-9,java,http2 来源: https://codeday.me/bug/20191024/1924452.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。