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投票

你好。我是一个 mvn 新手。我对 mvn 或 jks 一无所知,但我会尽力挖掘这个。

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

没有关于密钥库的内容。
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

但我发现了一个与密钥库有关的实例。

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 ....

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