gpt4 book ai didi

java - sun.* 与 com.sun.* 之间的区别

转载 作者:搜寻专家 更新时间:2023-11-01 02:35:27 26 4
gpt4 key购买 nike

我最近从 Java 8 迁移到了 Java 11。对于 jax.ws

我必须向我的 pom.xml 添加以下外部依赖项,因为它在 Java 11 中不再可用。但是,我遇到了一些论点,即 com.sun.* 不应使用包类,应尽可能避免使用。那么是 sun.* 还是 com.sun.*?如果后者也是如此,那么最好的替代品是什么?

还有一件事,我的代码没有直接使用此依赖项,但我的其他依赖项之一引用了它。

    <dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.2.10</version>
</dependency>

最佳答案

一些 com.sun.* 类是实际的外部 API,可以使用。关键是检查官方 Javadoc,看看您要使用的类是否被列为 API,并且没有标记为 @Deprecated 或任何类似的东西。

这是要查看的官方 javadoc 页面: https://docs.oracle.com/en/java/javase/11/docs/api/index.html

一般来说,sun.* API 指的是一些早于反向 DNS 包命名约定的最古老的 Java API(例如 sun.misc.Unsafe) .大多数原始 sun.* API 已被删除,升级为官方 javax.* API,或重命名为更合适的 com.sun.* 域。

使用 com.sun.* API 本质上没有错,前提是 API 不是 JDK 内部的或标记为弃用/删除。

关于java - sun.* 与 com.sun.* 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55798992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com