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

欢迎!请访问 关于 页面以获得更多关于如何使用本站的信息。

+1
tools.deps
重新标记

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

大家好!Clojure 吗从环境变量中获取 MAVEN_OPTS 吗?我无法用 Clojure使用 keystore,但用 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

但我发现了一个关于keystore的实例。

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