
1. CMD命令基础与Java开发环境搭建1.1 Windows命令提示符入门精要命令提示符CMD是Windows系统自带的命令行工具对于Java开发者而言掌握CMD操作是必备技能。不同于图形界面命令行操作具有更高的执行效率和自动化能力。启动CMD的三种实用方式WinR组合键调出运行窗口输入cmd回车在文件资源管理器地址栏直接输入cmd回车自动定位当前目录右键开始菜单选择Windows终端(管理员)获取最高权限初学者必须掌握的10个核心命令dir # 列出当前目录内容 cd # 切换目录加/d参数可跨驱动器 md/mkdir # 创建新目录 del # 删除文件 copy # 复制文件 type # 查看文件内容 cls # 清屏 ipconfig # 查看网络配置 ping # 测试网络连通性 systeminfo # 查看系统信息重要提示在路径包含空格时必须使用英文引号包裹路径如cd C:\Program Files\Java1.2 Java环境配置实战JDK安装后的关键配置步骤验证安装是否成功java -version javac -version环境变量配置以JDK17为例JAVA_HOMEC:\Program Files\Java\jdk-17.0.2Path追加%JAVA_HOME%\bin可选配置CLASSPATH.;%JAVA_HOME%\lib配置验证echo %JAVA_HOME% # 应显示JDK安装路径 where java # 显示java命令所在位置常见环境问题解决方案不是内部或外部命令检查Path变量是否包含JDK的bin目录版本不一致删除系统残留的旧版本JavaLombok报错确保IDE使用了JDK的javac而非Eclipse编译器2. Java开发基础与CMD结合应用2.1 第一个Java程序全流程从编写到运行的完整生命周期创建HelloWorld.java文件public class HelloWorld { public static void main(String[] args) { System.out.println(CMD与Java的完美配合); } }编译执行过程javac HelloWorld.java # 编译生成.class文件 java HelloWorld # 运行程序带包管理的编译技巧# 当代码声明package时 javac -d . HelloWorld.java # -d参数指定输出目录 java com.example.HelloWorld2.2 Java程序调试与排错常见错误类型及CMD诊断方法编译时错误javac -Xlint:unchecked HelloWorld.java # 显示详细警告运行时错误java -verbose:class HelloWorld # 跟踪类加载过程 java -XshowSettings HelloWorld # 显示所有JVM设置内存问题诊断jps -l # 列出Java进程 jinfo pid # 查看进程配置 jmap -heap pid # 分析堆内存3. 高级应用Java与系统命令交互3.1 Runtime执行系统命令Java中执行CMD命令的三种方式基本命令执行Process p Runtime.getRuntime().exec(cmd /c dir); BufferedReader reader new BufferedReader( new InputStreamReader(p.getInputStream())); String line; while ((line reader.readLine()) ! null) { System.out.println(line); }带参数的命令执行String[] cmd {cmd, /c, ping, www.baidu.com}; Process p new ProcessBuilder(cmd).start();异步命令执行Process p Runtime.getRuntime().exec(command); new Thread(() - { try(BufferedReader br new BufferedReader( new InputStreamReader(p.getErrorStream()))) { String line; while ((line br.readLine()) ! null) { System.err.println(line); } } catch (IOException e) { e.printStackTrace(); } }).start();3.2 批处理脚本与Java集成创建可复用的批处理脚本示例clean_cache.batecho off echo 正在清理系统缓存... del /f /s /q %temp%\*.* echo 清理完成 pauseJava调用批处理脚本的注意事项编码问题确保脚本保存为GB2312格式路径处理使用绝对路径或先切换工作目录权限问题需要管理员权限的命令应提前获取4. 开发环境优化与实用技巧4.1 高效命令行工具推荐Windows Terminal现代化终端替代品支持多标签、分屏、自定义主题集成PowerShell、CMD、WSL等环境Git Bash开发者必备工具提供Linux风格的命令体验可与Java构建工具完美配合Cmder增强型控制台模拟器内置git、ssh等开发工具支持别名和自定义脚本4.2 环境问题排查指南典型问题及解决方案中文乱码问题# 临时解决方案 chcp 65001 # 切换为UTF-8编码 # 永久解决方案修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\Autorun为chcp 65001nul环境变量不生效# 刷新环境变量无需重启 set PATH%SystemRoot%\system32;%PATH%Java版本冲突where java # 查看所有java可执行文件路径5. 项目实战构建自动化工具链5.1 文件管理工具开发实现类似dir命令的Java版本public class DirCommand { public static void main(String[] args) { File currentDir new File(.); System.out.println(目录内容列表); Arrays.stream(currentDir.listFiles()) .sorted(Comparator.comparing(File::isDirectory).reversed()) .forEach(f - { String type f.isDirectory() ? DIR : ; System.out.printf(%-20s %10s %s\n, f.getName(), type, new Date(f.lastModified())); }); } }5.2 系统监控脚本开发结合Java与系统命令实现资源监控public class SystemMonitor { public static void main(String[] args) throws Exception { // 获取CPU信息 ProcessBuilder pb new ProcessBuilder(wmic, cpu, get, loadpercentage); Process p pb.start(); try (BufferedReader br new BufferedReader( new InputStreamReader(p.getInputStream()))) { br.lines() .filter(line - !line.trim().isEmpty()) .skip(1) .forEach(line - System.out.println(CPU负载: line %)); } } }6. 开发者的命令行工具箱6.1 实用命令组合技巧查找Java进程并终止jps -l | findstr MyApp | awk {print $1} | xargs taskkill /F /PID批量编译Java文件for /r %i in (*.java) do javac %i生成目录结构树tree /f project_structure.txt6.2 自动化构建脚本示例Maven与CMD结合的构建脚本build.batecho off set PROJECT_HOME%~dp0 echo 正在清理构建... call mvn clean -f %PROJECT_HOME%pom.xml echo 正在编译项目... call mvn compile -f %PROJECT_HOME%pom.xml echo 正在运行单元测试... call mvn test -f %PROJECT_HOME%pom.xml echo 构建完成 pauseJava开发者应该养成的命令行习惯使用/代替\避免转义问题重要操作前先执行echo命令预览复杂命令保存为脚本文件便于复用善用 log.txt重定向输出到文件