2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!请查看 关于 页面以了解此工作的更多详细信息。

+1
tools.deps
重标记

我从 #tools.deps Slack 频道复制了这个问题

大家好!Clojure 是否从环境变量中获取 MAVEN_OPTS?我不能使用 keystoreclojure 一起,但是它与 mvn (直接)一起工作。我需要使用 keystore.jks 与自签名企业证书。我在 settings.xml 中配置的凭证没有任何问题。Maven 默认从 .mavenrc 或 MAVEN_OPTS 中选取设置,但我没有在 tools.deps 源码中看到任何使用情况

谢谢任何帮助!

2 个回答

+1
0
by

你好。我是一个 mvn 小白。我对 mvn 和 jks 一无所知,但我将试着深入了解这个问题。

在 tools.deps 仓库中,我看到它没有实现关于 MAVEN_OPTS 的任何内容。
https://github.com/clojure/tools.deps.alpha/search?q=MAVEN_OPTS&unscoped_q=MAVEN_OPTS

关于 keystores 的内容什么都没有。
https://github.com/clojure/tools.deps.alpha/search?q=keystore&unscoped_q=keystore

看起来 clojure/tools.deps.alpha 使用的是 org.apache.maven.resolver API。
https://github.com/clojure/tools.deps.alpha/blob/master/deps.edn#L4

然后我发现了这个仓库。
https://github.com/apache/maven-resolver

这个仓库没有实现关于 MAVEN_OPTS 的任何内容。
https://github.com/apache/maven-resolver/search?q=MAVEN_OPTS&unscoped_q=MAVEN_OPTS

但是我发现了一个关于 keystores 的出现。

https://github.com/apache/maven-resolver/blob/47edcfe69c4e52ced4cb93d65b7348b5645cdd68/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpTransporterTest.java#L71

也许

clj -J-Djavax.net.ssl.keyStore=my-custom-keystore.jks

会起作用。
你可以在 deps.edn 中使用 :jvm-opts

:alias {:custom-keystore {:jvm-opts ["-D..."]}}

然后使用 clj -A:custom-keystore:dev:repl ....

by
感谢您的帮助!
我第一次尝试是在别名中添加 :jvm-opts,但它不起作用。
我发现最简单的方法是将证书添加到 cacerts。它工作了。
但我认为最好的方法是支持 MAVEN_OPTS。
...