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