
从 jdk 9 开始,`java` 命令支持 `@-file` 语法,可直接读取外部文件中的类路径内容,实现动态、可维护的 classpath 加载。
在构建大型 Java 应用时,手动拼接冗长的 -cp 参数既易错又难以维护。Maven 等工具可通过插件(如 maven-dependency-plugin)自动生成 classpath 文件,例如:
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 命令中使用 @classpath 即可自动展开该文件内容:
Android文档-开发者指南-第一部分:入门-中英文对照版 Android提供了丰富的应用程序框架,它允许您在Java语言环境中构建移动设备的创新应用程序和游戏。在左侧导航中列出的文档提供了有关如何使用Android的各种API来构建应用程序的详细信息。第一部分:Introduction(入门) 0、Introduction to Android(引进到Android) 1、Application Fundamentals(应用程序基础) 2、Device Compatibility(设备兼容性) 3、
java -cp @classpath clojure.main
✅ 注意: @ 后必须紧跟文件路径(不支持空格、通配符或引号包裹); 文件路径为相对或绝对路径,需确保运行时可读; Windows 下 classpath 文件须使用分号 ; 分隔(Maven 插件默认按平台适配,无需手动修改); @-file 可多次使用(如 java @cp1 @cp2 -jar app.jar),也支持嵌套(即被引用的文件中还可包含 @otherfile); 此特性仅适用于 JDK 9+,JDK 8 及更早版本不支持,需升级或改用脚本拼接。
该机制不仅简化了命令行调用,还提升了构建与部署的一致性——classpath 定义完全由构建工具生成并复用,避免手误和环境差异。对于 CI/CD 流水线、容器化启动脚本或轻量级 DevOps 场景,是推荐的最佳实践。
立即学习“Java免费学习笔记(深入)”;









