评论人:stuart.sierra
目前,clojure.java.classpath既不处理JAR清单文件,也不处理嵌套的JAR文件。正如我在之前的评论中所描述的,这将很困难,并且短时间内不太可能成为我的优先事项。但我愿意审阅添加此功能的补丁,但必须证明它能够防止递归循环。
根据我对(链接:[JAR文件规范](http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html) 文本:JAR File Specification)的阅读,clojure-maven-plugin的行为可能会被视为与JAR规范的意图不符,该规范以这种方式描述了“Class-Path”清单属性
{quote}
"类路径:此属性值的指定是扩展库或此应用程序或扩展需要的 相对 URL。"( emphasis added)
{quote}
clojure-maven-plugin 正在创建一个包含 绝对 URL 的 JAR 清单,这些 URL 指向其他 JAR 文件,这些文件没有被包含在包含清单的 JAR 文件中。
我一直认为,带有 Class-Path 属性的 JAR 清单文件仅在打包完整应用程序或 JDK 扩展时才使用,并不是用来指定开发期间类路径的机制。明显这是可能的,就像当前的 clojure-maven-plugin 所展示的那样,但这不是我希望依靠的功能。
一般情况下,JDK 不支持列出类路径上的所有文件,因为类路径可以包含指向远程资源的 URL,这些远程资源根据需要下载。