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

这是因为一个库似乎提供了一个与 clojure.tools.build.api/uber 尝试添加到uberjar中的META-INF/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排除的测试用例的简单补丁。

2 答案

0

在 v0.1.3 中修复,谢谢。

0

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 示例。

by
depstar 的 2.1.267 版本已提供,包含所有更新文档:https://cljdoc.org/d/com.github.seancorfield/depstar/2.1.267/doc/tools-build-usage
commented by
即使您已经发布了新版本,我也可以确认 depstar 在构建我的项目的 uberjar 时按预期工作。
commented by
知道了,谢谢!
...