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上.
这是源代码的链接:
(此链接将来可能会中断,但您应该可以使用Google搜索找到相应的内容.)
您无法在标准JDK/JRE分发中找到源代码或javadoc的原因是这是一个INTERNAL类.有一个长期的Oracle/Sun策略阻止开发人员编写依赖于Java内部类的代码.
FWIW - 这只是一个注释,其含义几乎就是类名所暗示的含义.
更新 - 显然,这种混淆的真正原因是你没有在你的构建路径中包含JSR305 jar.这是一种依赖CacheBuilder.然后,Eclipse类名完成正在尽力......但失败了.
| 归档时间: |
|
| 查看次数: |
13355 次 |
| 最近记录: |