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

欢迎!有关如何使用本站的信息,请参阅关于 页面。

+3
tools.build

关于https://ask.clojure.org/index.php/10854/getting-an-error-with-tools-build-uberjar?show=10854#q10854的后续问题

JAR 文件是大小写敏感的。这意味着uperjar 可以同时包含名为 licenseLICENSE/epl.txt 的文件。但是如果在大小写敏感的文件系统中(特别是 OSX)构建uperjar并将其展开到磁盘上,则会遇到类似以下错误

执行错误(ExceptionInfo)在 clojure.tools.build.tasks.uber/explode1 (uber.clj:166)。
无法从 io.grpc/grpc-netty-shaded 写入 META-INF/license/LICENSE.aix-netbsd.txt,因为父目录来自另一个库的文件。必须排除其中一个。

解决这个问题的方法是找到冲突的文件并将它们添加到排除列表中。但通常如果想要排除的单一文件 license 存在,而错误信息是关于几个冲突文件中的一个 LICENSE/epl.txt,那么这可能会很麻烦。

这个错误也很烦人,因为这些文件可以在uperjar中很好地共存,但在磁盘上的临时位置却不行。如果uperjar可以直接从各个JAR中提取文件而不是在中间步骤中复制到磁盘上,那会很好。

登录注册以回答这个问题。

...