JDK Tools: 命令行工具现状与过时工具

JDK 自带的命令行工具随着版本演进变化很大:CORBA、JAX-WS/JAXB、Java Web Start 等整套技术栈在 JDK 11 前后被移除,一批老工具也随之消失;同时 jshell、jlink、jpackage、jhsdb 等是后来才加入的。本文按「现在还在用」「名存实亡」「已从 JDK 移除」三类整理,方便判断一个工具在 JDK 26 上还值不值得用。 仍在用的核心工具 分类 工具 用途 编译与运行 java 运行 class/jar,也可直接运行单文件源码 编译与运行 javac 编译 Java 源码 编译与运行 jshell REPL,交互式执行 Java 代码(JDK 9 引入) 打包与模块 jar 打包/解包 jar 文件 打包与模块 jlink 生成裁剪后的自定义运行时镜像(JDK 9 引入) 打包与模块 jmod 创建和查看 jmod 模块文件(JDK 9 引入) 打包与模块 jpackage 生成平台原生安装包(JDK 14 引入,见下文 javapackager 的替代) 签名与安全 jarsigner jar 签名与验证 签名与安全 keytool 密钥、证书管理 文档与静态分析 javadoc 生成 API 文档 文档与静态分析 javap 反汇编 class 文件 文档与静态分析 jdeps 分析类/模块依赖关系(JDK 8 引入) 文档与静态分析 jdeprscan 扫描代码中用到的已废弃 API(JDK 9 引入) 文档与静态分析 jnativescan 扫描 FFM API(java.lang.foreign)受限方法调用(JDK 22 引入) 诊断与监控 jcmd 向运行中的 JVM 发送诊断命令,官方现在推荐的统一入口,详见 jcmd 诊断与监控 jconsole 图形化 JMX 监控 诊断与监控 jfr Flight Recorder 命令行工具,详见 Java Flight Recorder 诊断与监控 jhsdb HotSpot Serviceability Agent 统一入口,整合了旧版 jsadebugd/SA 调试功能(JDK 9 引入) 诊断与监控 jps 列出本机 JVM 进程 诊断与监控 jstat / jstatd JVM 统计信息采集 / 远程统计信息服务 诊断与监控 jwebserver 内置的简单静态文件 HTTP 服务器(JDK 18 引入) 调试 jdb 命令行调试器 RMI rmiregistry RMI 远程对象注册表 脚本 jrunscript 命令行脚本外壳工具,见下文「名存实亡」 其它签名工具 serialver 生成 serialVersionUID Windows 专属 javaw 不弹控制台窗口运行 Java 程序 Windows 专属 jabswitch / jaccessinspector / jaccesswalker Java Access Bridge 开关与辅助功能检查工具 Kerberos kinit / klist / ktab Kerberos 票据与密钥表管理 名存实亡:还在但不建议依赖 这几个工具没有被移除,仍出现在最新 JDK 的工具列表里,但官方已经不建议把它们当作首选: ...

Created 6066-02-06 · Updated 16166-07-16 · 3 min · 475 words · -