构建有关使用Sun专有API的警告

Mea*_*ell 5 java build jdk-internal-api

我正在尝试清理我的构建环境,并发现了一些关于使用Sun专有API的警告.

[javac] /workspace/<path-to-files>/Handler.java:18: warning: sun.net.www.protocol.http.Handler is Sun proprietary API and may be removed in a future release
[javac] public class Handler extends sun.net.www.protocol.http.Handler {
[javac]                                                       ^
[javac] /workspace/<path-to-files>/HttpClient.java:16: warning: sun.net.www.http.HttpClient is Sun proprietary API and may be removed in a future release 
[javac] public class HttpClient extends sun.net.www.http.HttpClient {
[javac]
[javac] /workspace/<path-to-files>/HttpURLConnection.java:19: warning: sun.net.www.protocol.http.HttpURLConnection is Sun proprietary API and may be removed in a future release
[javac] public class HttpURLConnection extends sun.net.www.protocol.http.HttpURLConnection {
[javac]                                                                 ^
Run Code Online (Sandbox Code Playgroud)

和...

[javac] /workspace/<path-to-files>/JavaFile.java:17: warning: sun.misc.BASE64Decoder is Sun proprietary API and may be removed in a future release
[javac] import sun.misc.BASE64Decoder;
[javac]                ^
[javac] /workspace/<path-to-files>/JavaFile.java:338: warning: sun.misc.BASE64Encoder is Sun proprietary API and may be removed in a future release
[javac]          BASE64Encoder encoder = new BASE64Encoder();
[javac]          ^
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议这些API的替代品吗?或者可以用官方Java API替换它们?我意识到这些只是警告,但这是我打算解决的问题.

Jon*_*eet 7

目前尚不清楚为什么你首先宣布自己的HttpURLConnectionHandler类 - 你确定要编译它们吗?

至于Base64 - 我自己喜欢这个公共领域的实现.


Qwe*_*rky 6

如果你已经写了一个http客户端,那么你已经重新发明了轮子.已经在apache http客户端中有一个非常好的.

如果你想要Base64编码/解码,那么在apache commons编解码器中有一个类.