在工作时,我们的 CLI 调用中几乎在每一个通过 deps.edn
文件中的别名调用的 JVM 选项都是四个或五个。目前,我们在每个别名中都重复了 :jvm-opts
。
如果每个别名中只说 :jvm-opts :common-opts
,并且有一个指定 JVM 选项的单个位置的 :common-opts
别名的话,将减少重复。更好的是,如果 :jvm-opts
向量可以接受关键词和字符串的混合,并将其作为别名查找并合并数据。
这将是 :jvm-opts
与 :paths
和 :extra-paths
保持一致,并有助于减少 deps.edn
文件中的重复。
在我们的特定情况下,我们可以这样做
;; under :aliases
:common-jvm-opts ["-Dclojure.core.async.go-checking=true"
"-Dclojure.tools.logging.factory=clojure.tools.logging.impl/log4j2-factory"
"-XX:-OmitStackTraceInFastThrow"
"--illegal-access=warn"]}
;; in a specific alias
:some-alias {
:jvm-opts [:common-jvm-opts "-Dlogged-future=synchronous"]
}