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

欢迎!有关此工作的更多信息,请参阅关于页面。

+2
tools.deps
重标记

大家好,

当我尝试使用Maven 密码加密时,因为 tools.deps 没有对从 settings.xml 发送的加密密码进行解密,所以依赖关系解析失败,返回了 401 HTTP 错误代码。我使用了以下场景:
1. 根据 Maven 指南创建 settings.xmlsettings-security.xml 文件,并使用加密的主密码和服务器密码。
2. 根据Maven 认证仓库指南,将 settings.xml 中的仓库添加到 deps.edn 中。
3. 确保在 ~/.m2/repository 中没有来自 deps.edn 的 Maven 依赖项。
4. 创建与 deps.edn 中相同的依赖项列表的 pom.xml 文件。
5. 执行 clj -X:deps tree 命令。命令会失败并返回 401 HTTP 错误代码。
6. 执行 mvn dependency:tree 命令。命令可以解决并下载所有依赖项。
7. 从 ~/.m2/repository 中删除一些依赖项。
8. 在 settings.xml 中将编码的服务器密码替换为纯文本服务器密码。
9. 执行 clj -X:deps tree 命令。命令可以解决并下载所有依赖项。

我已经查看了 tools.deps 的源代码,看来它不支持此类密码,但可能是我在错误的地方寻找。

请问我是否在 deps.edn 中使用错误配置,还是 tools.deps 不支持加密的 Maven 密码?

1 个答案

0

您是对的,tools.deps目前在settings.xml中不支持加密的Maven密码。我已经在https://clojure.atlassian.net/browse/TDEPS-255上为这个问题创建了一个jira。

我创建了一个补丁,添加了这种支持。我可以某种方式分享它吗?
我已经向您发送了加入jira的邀请,以便您可以在jira上做出贡献。与补丁相比,我更欢迎首先就方法进行讨论。不确定是否有可以用于此的Maven API,或者是否需要XML解析等。

当然有许多可能的方式来传达主Maven密码以便解密,所以我想看到对这个问题的权衡讨论。
...