2024 年 Clojure 调查问卷!中分享你的想法。

欢迎!请参阅关于页面以了解更多关于这是如何工作的信息。

0
tools.build

你好,

我一直在尝试使用 tools.deps 构建 uberjar,并且遇到了以下异常

Execution error (ZipException) at java.util.zip.ZipOutputStream/putNextEntry (ZipOutputStream.java:233).
duplicate entry: META-INF/MANIFEST.MF

这是因为我遇到的库提供了一个与其他库中存在的META-INF/MANIFEST.MF信息冲突的 MANIFEST.MF。

我认为这种文件应该默认忽略,例如定义 clojure.tools.build.tasks.uber/uber-exclusions 如下

(def ^:private uber-exclusions
  [#"project.clj"
   #"META-INF/.*\.(?:SF|RSA|DSA|MF)"])

我没有访问 Clojure JIRA 的权限,但是如果有人给我权限,我很愿意提供一个包含此修复和一个用于特定 MANIFEST.MF 排除的测试案例的 trivial 修复补丁。

2 个回答

0
by

已在 v0.1.3 中修复,谢谢。

0
by

depstartools.buildjaruber 函数提供即插即用替换,用于合并 LICENSE 文件、许多更多排除项、合并 log4j2 插件缓存等。请参阅 https://github.com/seancorfield/depstar/blob/develop/src/hf/depstar/api.clj

目前你将不得不通过 :git/url 取决于 HEAD,因为我正在在我的下一个版本之前重新完善所有文档,但是我很乐意了解如果愿意试一试的反馈。

查看示例 https://github.com/seancorfield/depstar/blob/develop/build.clj,其中包含使用depstarjaruber版本的tools.build示例。

depstar的2.1.267版本可用,包含所有更新文档:https://cljdoc.org/d/com.github.seancorfield/depstar/2.1.267/doc/tools-build-usage
即使你已经发布了新版本,我也确认depstar在为我构建uberjar时按预期工作。
知道这些真好,谢谢!
...