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