com.sun.net.ssl 包中的类和接口已不推荐使用,并且已替换为 javax.net.ssl 包中的类和接口。
自动修订会将对 com.sun.net.ssl 包的引用更改为 javax.net.ssl。 将定制配置复制到应用程序构建文件以启用修订自动化。 此规则将在 import 语句以及 Java 代码主体中检测标准名称。
例如,类似于下面的代码段:
import com.sun.net.ssl.X509KeyManager;
if (keyManager instanceof com.sun.net.ssl.X509KeyManager)
|
已更改为
import javax.net.ssl.X509KeyManager;
if (keyManager instanceof javax.net.ssl.X509KeyManager)
|
自动修订更改包导入,例如
import com.sun.net.ssl.*;
|
并将它更改为:
应用此规则的自动修订后,根据您使用的 API 以及使用这些 API 的方式,您可能仍需要进行许多更改。
使用 Eclipse Java 问题标记来帮助您完成所需的其他更改,因为 com.sun.net.ssl API 与 javax.net.ssl API 之间存在差别。
下面是一些差别示例:
- javax.net.ssl.KeyManager、javax.net.ssl.KeyManagerFactory、javax.net.ssl.TrustManager 和 javax.net.ssl.TrustManagerFactory 已将 final Java 修饰符添加到它们的某些方法,因此无法再覆盖。
- javax.net.ssl.X509KeyManager 更改了 chooseClientAlias 和 chooseServerAlias 方法的参数类型。
- javax.net.ssl.KeyManagerFactorySpi
和 javax.net.ssl.TrustManagerFactorySpi 已移除 engineInit(KeyManagerFactoryParametersSpec arg0) 方法。
在适当的位置添加了其他方法。
- javax.net.ssl.SSLContextSpi 已移除 engineInit(String arg0, String arg1, String arg2) 方法。 在适当的位置添加了其他方法。
- javax.net.ssl.SSLContext 更改了其 init 方法的自变量。
- javax.net.ssl.X509TrustManager 更改了其 isClientTrusted 和 isServerTrusted 方法。
请改用附带适当参数的 checkClientTrusted 和 checkServerTrusted 方法。
- javax.net.ssl.HttpsURLConnection 类具有要实现的新的抽象方法。
- javax.net.ssl.KeyManagerFactorySpi 类具有要实现的新的抽象方法。
- javax.net.ssl.SSLContextSpi 类具有要实现的新的抽象方法。
- javax.net.ssl.TrustManagerFactorySpi 类具有要实现的新的抽象方法。
- javax.net.ssl.HostnameVerifier 接口具有要实现的新方法。
- javax.net.ssl.X509KeyManager 接口具有要实现的新方法。
- javax.net.ssl.X509TrustManager 接口具有要实现的新方法。
有关与此规则相关的更多信息,请参阅: