
从 jdk 9 开始,`java` 命令支持 `@-file` 语法,可将类路径信息存入文本文件并直接引用,避免命令行过长或 shell 限制问题。
在构建过程中(例如使用 Maven),常需动态生成完整的类路径。Maven 的 maven-dependency-plugin 提供了便捷方式:
mvn dependency:build-classpath -Dmdep.outputFile=classpath
该命令会生成一个名为 classpath 的纯文本文件,内容为以冒号(Linux/macOS)或分号(Windows)分隔的 JAR 路径列表,例如:
./clojure-1.11.1.jar:./spec.alpha-0.3.218.jar:./core.specs.alpha-0.2.62.jar
随后,你可在 java 命令中通过 -cp @classpath 直接引用该文件:
java -cp @classpath clojure.main
✅ 关键要点:
Android文档-开发者指南-第一部分:入门-中英文对照版 Android提供了丰富的应用程序框架,它允许您在Java语言环境中构建移动设备的创新应用程序和游戏。在左侧导航中列出的文档提供了有关如何使用Android的各种API来构建应用程序的详细信息。第一部分:Introduction(入门) 0、Introduction to Android(引进到Android) 1、Application Fundamentals(应用程序基础) 2、Device Compatibility(设备兼容性) 3、
立即学习“Java免费学习笔记(深入)”;
- @ 符号必须紧邻 -cp(或 -classpath)参数,中间不可有空格;
- @-file 仅支持在 -cp、-D、主类名、JVM 参数等位置展开,不支持嵌套(即文件内不能再含 @otherfile);
- 文件路径是相对于执行 java 命令时的当前工作目录,建议使用相对路径(如 ./lib/...)或确保路径一致性;
- Windows 系统下 classpath 文件应使用分号 ; 分隔,且文件编码推荐 UTF-8(无 BOM);
- 此特性不兼容 JDK 8 及更早版本,使用前请确认 java -version ≥ 9。
? 小技巧:可结合 echo 或 cat 验证文件内容是否正确:
# 检查生成的 classpath 内容(Linux/macOS) cat classpath # 或在 Windows PowerShell 中 Get-Content classpath
综上,@-file 是现代 Java 开发中简化类路径管理、提升脚本可维护性的标准实践,特别适用于 CI/CD 流水线或自定义启动脚本场景。









