必须准确调用JDK工具:javac编译需注意类名匹配、package路径与-cp依赖;javadoc生成文档须指定编码防乱码;jdb调试需带调试信息编译并正确设置断点。

要在命令行中编译Java源码、生成API文档、调试运行中的程序,必须准确调用JDK自带的对应工具,且参数顺序和路径写法稍有偏差就会报错或静默失败。
用javac编译Java源文件
第一步:确认当前目录下存在 HelloWorld.java 文件,且文件首行为 public class HelloWorld {(类名必须与文件名完全一致,包括大小写)。
第二步:执行 javac HelloWorld.java。这会在当前目录生成 HelloWorld.class,但不创建包结构目录。
第三步:若源码含 package 声明(如 package com.example;),必须用 -d 指定输出目录,并确保源文件位于符合包路径的子目录中——例如源文件实际路径应为 src/com/example/HelloWorld.java,再运行:
javac -d classes src/com/example/HelloWorld.java
立即学习“Java免费学习笔记(深入)”;
第四步:编译多个文件时,可一次性列出所有 .java 路径,或使用通配符:javac -d bin src/**/*.java(注意:Windows cmd 不支持 **,需改用 src\com\example\*.java)。
第五步:若项目依赖外部 jar 包(如 logback-core-1.2.3.jar),必须通过 -cp 或 -classpath 显式指定,否则会报 cannot find symbol 错误:
javac -cp "libs/slf4j-api-1.7.25.jar;libs/logback-core-1.2.3.jar" -d bin src/com/example/App.java
用javadoc生成HTML文档
方法一:基础生成
执行 javadoc -d docs MyUtils.java,会在当前目录创建 docs 文件夹并放入 index.html。该命令仅处理单个文件,且要求文件中含标准 Javadoc 注释(/** ... */)。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
方法二:按包批量生成
若源码组织在 src/com/example/ 目录下,且包含完整包声明,运行:
javadoc -d api -sourcepath src -subpackages com.example
方法三:带编码与样式控制
中文注释必须加 -encoding UTF-8 -docencoding UTF-8,否则生成的 HTML 里中文全乱码;【不加这两项,文档标题、类说明、方法描述全部显示为方块】
方法四:跳过未标注类
添加 -quiet 可抑制警告输出;加 -notree 则不生成继承树页面,减小体积。
用jdb启动调试会话
第一步:先确保已编译出 .class 文件(如 App.class),且未用 -g:none 编译——否则 jdb 无法查看变量值或设置行断点。
第二步:在 class 文件所在目录执行 jdb App,进入交互式调试界面,提示符变为 jdb>。
第三步:设置断点:
输入 stop in App.main(在 main 方法入口停住)
或 stop at App.java:15(在第15行停住)。
第四步:运行程序:
输入 run,程序将执行至第一个断点暂停。
第五步:查看变量与单步执行:
用 locals 查看当前作用域所有变量值;
用 step 进入方法内部,next 执行下一行(不进入方法);
用 print obj.toString() 可直接调用对象方法并打印结果。


















