【发布时间】:2010-11-17 10:39:42
【问题描述】:
我想查看所有的 java 包。我的机器中的包裹存放在哪里?任何人都可以帮忙。我确实在 jdk 文件夹中搜索并找到了 awt.dll 和所有内容。但它只是少数。我可以全部看到吗?
【问题讨论】:
-
你在处理什么操作系统?
标签: java packages file-structure
我想查看所有的 java 包。我的机器中的包裹存放在哪里?任何人都可以帮忙。我确实在 jdk 文件夹中搜索并找到了 awt.dll 和所有内容。但它只是少数。我可以全部看到吗?
【问题讨论】:
标签: java packages file-structure
从 Java 9 开始,rt.jar 是 removed
以前存储在
lib/rt.jar、lib/tools.jar、lib/dt.jar中的类和资源文件以及各种其他内部 JAR 文件现在以更有效的格式存储在 lib 目录中的特定于实现的文件中。这些文件的格式未指定,如有更改,恕不另行通知。
现在可以访问系统类文件,如下所示
FileSystem fs = FileSystems.getFileSystem(URI.create("jrt:/"));
Path objClassFilePath = fs.getPath("modules", "java.base", "java/lang/Object.class");
【讨论】:
正如@VenkataRaju 的回答,我想再提两点
【讨论】:
Windows:
对于压缩编译的java包(Java类库,JCL):program files/java/jdk/jre/lib/rt.jar
对于包的来源:程序文件/java/jdk/src.zip
我们可以使用任何解压软件来查看它们。
【讨论】:
我的 JDK 1.6.0_13 有一个包含所有源代码的 src.zip。看看吧。
【讨论】:
如果您想要标准安装中的软件包列表,只需转到Javadocs 并查看左上角。
如果您想查看 .class 文件,它们位于 JRE 目录中的 lib\rt.jar 中(.jar 与 .zip 相同,因此您可以使用任何可以打开 zip 文件的东西打开它)。
如果您想查看源代码,请查看 JDK 目录中的src.zip。如果它不存在,您可能在安装 JDK 时选择不安装它。
请记住,包表示为磁盘上的文件夹,因此您可能会对所看到的内容感到有些失望。
【讨论】:
假设您指的是包含 java.lang.* 和 java.util.* 等类库的包,它们位于 Java 运行时环境 (JRE) 安装位置下的“lib”目录中。
在 Windows 上,它会是这样的:
C:\Program Files\Java\j2re1.4.2_12\lib
在那里,您应该会看到像 rt.jar 这样的文件,其中包含核心 Java 类和 charsets.jar,其中包含对 EBCDIC 和 CJK 语言的许多扩展编码支持。
在并行的bin 目录中是Java 和相关实用程序的可执行文件。
如果您已安装 Java 开发工具包 (JDK),则在上面找到库的目录中,您可能会找到一个 src.jar 文件。这可以使用 jar.exe 实用程序或标准 zip 样式工具解压缩,并包含标准类库的 Java 源代码。
某些 Java,例如虚拟机本身,是特定于机器的,并且将成为某些 DLL 或 EXE 的一部分。
【讨论】:
您可以尝试解压缩/解压缩 rt.jar,该文件通常在 $JAVA_HOME/lib/rt.jar 中可用。 jar 文件应该包含所有JDK 的类文件,如果这是您要问的。
【讨论】: