我想查看所有的java包。我的机器中的包存储在哪里?任何人都可以帮忙。我在 jdk 文件夹中搜索并找到了 awt.dll 和所有内容。但这只是少数。我可以看到全部吗?
如果您想要标准安装中的软件包列表,只需转到 Javadocs 并查看左上角。
如果您想查看 .class 文件,它们位于 JRE 目录中的
lib\rt.jar
中(.jar
与 .zip
相同,因此您可以使用任何可以打开 zip 文件的工具打开它)。
如果你想查看源代码,请查看JDK目录中的
src.zip
。如果不存在,您可能在安装 JDK 时选择不安装它。
请记住,包在磁盘上表示为文件夹,因此您可能会对所看到的内容感到有点失望。
从 Java 9 开始
rt.jar
被 删除
以前存储在
、lib/rt.jar
、lib/tools.jar
中的类和资源文件以及各种其他内部 JAR 文件现在以更有效的格式存储在 lib 目录中的特定于实现的文件中。这些文件的格式未指定,如有更改,恕不另行通知。lib/dt.jar
现在可以访问系统类文件,如下所示
FileSystem fs = FileSystems.getFileSystem(URI.create("jrt:/"));
Path objClassFilePath = fs.getPath("modules", "java.base", "java/lang/Object.class");
假设您指的是包含 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
的类文件,如果这就是您要问的。
Windows:
对于压缩编译的java包(Java类库,JCL):program files/java/jdk/jre/lib/rt.jar
软件包来源:program files/java/jdk/src.zip
我们可以使用任何解压软件来查看它们。
我的 JDK 1.6.0_13 有一个包含所有源代码的 src.zip。看看吧。
正如@VenkataRaju 的回答,我想再补充两点
rt.jar
自 Java 9 起已被删除。因此,要查找 JCL 的来源,您应该:
sudo find / -name java.base
在 JDK 版本 18.0.1.1 中,所有包都存在于 jrt-fs.jar 文件中。
路径:- jdk-18.0.1.1\lib\jrt-fs.jar。
在这个 jrt-fs.jar 文件中,所有预定义的类都存在于包路径中,例如 java.io 的 java\io、java.lang 的 java\lang、java.util 的 java\util、java\sql 的包路径中java.sql等..
正如一些用户已经提到的,可以在以下位置找到它: /Java/jdk-21/lib/src.zip/
终端需要提升至管理员模式:Win
示例:Java File 方法在 IO 包下。
/Java/jdk-21/lib/src.zip/java.base/java/io