欢迎!请访问关于页面,了解更多此功能的信息。
我们需要自定义由clojure.tools.build.api/uber创建的META-INF/MANIFEST.MF文件的几个原因。
clojure.tools.build.api/uber
Liquibase-Package
Multi-Release: true
使用Leiningen,您可以在project.clj中通过包含一个:manifest键来指定清单内容...将此类选项添加到tools.build将非常有帮助。
project.clj
:manifest
tools.build
关于log4j减速问题,可能可以看看https://github.com/line/armeria/issues/2306,它显示出类似的症状,原因是客户端代码中特定的调用(并非log4j本身)使用了长时间未废弃的方法。
就事论事,我们遇到了相反的问题:在depstar添加Multi-Release: true检测/设置之前,由于回退到反射和堆栈跟踪器,我们使用的log4j2在Java 11(但在Java 8上运行良好)上慢得让人痛苦。
depstar
log4j2
关于:manifest配置:这是depstar中已经构建的功能,现在有一个API提供对tools.build的jar和uber函数的直接替换(具有完全相同的输入和输出)。
jar
uber
如果您想使用tools.build尝试,我很乐意为depstar添加禁用MR检测的选项?有关详细信息,请参见https://cljdoc.org/d/com.github.seancorfield/depstar/2.1.267/doc/tools-build-usage。
记录为https://clojure.atlassian.net/browse/TBUILD-5
在tools.build 0.1.4中,为jar和uber任务添加了自定义的manifest属性支持(包括自动内容的覆盖)。
(uber {... :manifest {"Liquibase-Package" "whatever" "Multi-Release" false}})