评论者:stuart.sierra
我可以确认 java.classpath 的所有版本都与 clojure-maven-plugin 1.3.13 及之后的所有版本有此行为。
从 clojure-maven-plugin 的 1.3.13 版本开始,该插件不再使用 {{-cp}} 在命令行上指定 Java 类路径,而是生成一个包含真实类路径的清单文件的临时 JAR 文件,并使用 {{-jar}} 启动 Java。
请参阅clojure-maven-plugin(链接:[见 pull request #58](https://github.com/talios/clojure-maven-plugin/pull/58) text: pull request #58),其中包含(链接:[见 commit 8d8e90e4](https://github.com/talios/clojure-maven-plugin/commit/8d8e90e41806a6927c11347e6fc13344ba53c887) text: commit 8d8e90e4)。
{{clojure.java.classpath/classpath}} 用于查看加载 Clojure 的 classloader,在这种情况下是 {{sun.misc.Launcher$AppClassLoader}} 的子 classloader。AppClassLoader 是 (链接:[见 URLClassLoader](http://docs.oracle.com/javase/6/docs/api/java/net/URLClassLoader.html) text: URLClassLoader) 的子类,但其 (链接:[见 getURLs()](http://docs.oracle.com/javase/6/docs/api/java/net/URLClassLoader.html#getURLs()) text: getURLs()) 方法仅返回 JAR 文件的 URL。没有明显的 API 可以在不打开和读取 JAR 文件内容的情况下获取manifest文件的 {{Class-Path}} 属性。