繁体   English   中英

rt.jar com.sun.istack.internal包

[英]rt.jar com.sun.istack.internal packages

jre附带了许多rt.jar中的库,其中一个是com.sun.istack.internal *。 我需要com.sun.istack.internal.Nullable( 我发现谷歌在其CacheBuilder中使用它 )的文档 ,我 首先想到的是去docs.oracle.com找到它的文档,在那里我一无所获。 接下来转到源自jdk的源文件夹,我在所述文件夹中找不到com名称实体。 接下来我看一下jre7的发布,看看所有的包和类,发现那里没有提到Nullable。 虽然SO有一个提到它 ,但没有什么具体的。 我仍然感到困惑,如果需要,在哪里获得它的文档和src。 我甚至在oracle看过遗留的sun api文档,但没有提到它。 oracle在哪里记录有关移植包的政策以及它们是标准的还是非标准的。他们必须在某处记录它只是因为我花了太多时间去那里。

请指点我。

编辑:实际上javax.annotation.Nullable正在谷歌CacheBuilder中使用,而不是com.sun.istack.internal.Nullable。 对于可能面临此问题的人:javax.annotation.Nullable现在不是Java SE的一部分,它正在jsr305 jar中移植。 因此,如果您计划使用CacheBuilder或只是通过其代码,请在类路径中添加jsr305 jar,否则eclipse会混淆并指向com.sun.istack.intenal.Nullable,只要您将光标悬停在Nullable上。

Guava不使用com.sun.istack.internal.Nullable 官方Java SE javadoc中未记录的所有内容都是内部代码,不应在应用程序中使用。

您可能正在寻找javax.annotation.Nullable ,它是JSR305的一部分。

这是源代码的链接:

(此链接将来可能会中断,但您应该可以使用Google搜索找到相应的内容。)

您无法在标准JDK / JRE分发中找到源代码或javadoc的原因是这是一个INTERNAL类。 有一个长期的Oracle / Sun策略阻止开发人员编写依赖于Java内部类的代码。

FWIW - 这只是一个注释,其含义几乎就是类名所暗示的含义。


更新 - 显然,这种混淆的真正原因是你没有在你的构建路径中包含JSR305 jar。 它是CacheBuilder的依赖CacheBuilder 然后,Eclipse类名完成正在尽力......但失败了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM