欢迎!请访问 关于 页面了解更多关于如何使用本站的信息。
我们有许多原因需要自定义由 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 v0.1.4中为jar和uber任务添加了自定义manifest属性支持,包括自动生成内容的覆盖。
(uber {... :manifest {"Liquibase-Package" "whatever" "Multi-Release" false}})