sun.* 与 com.sun.* 之间的区别
Difference between sun.* vs com.sun.*
我最近从 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.*
域。
如果 API 不是 JDK 内部或标记为 deprecation/removal,那么使用 com.sun.*
APIs 本质上没有错。 =19=]
我最近从 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.*
域。
如果 API 不是 JDK 内部或标记为 deprecation/removal,那么使用 com.sun.*
APIs 本质上没有错。 =19=]