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函数提供drop-in替换,这些函数可以处理合并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,其中包含使用 depstar 的版本替换 jarubertools.build 示例。

by
by
即使您已经发布了新版本,我也可以确认 depstar 在为我的项目构建 Uberjar 时按预期工作。
by
知道了,谢谢!
...