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 中不包含 from 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
by

您的说法是正确的,tools.deps 目前不支持在 settings.xml 中加密 Maven 密码。我已经在 https://clojure.atlassian.net/browse/TDEPS-255 上提交了一个 jira。

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

绝对有很多人传送主 Maven 密码进行解密的方法,因此希望看到关于这个问题的权衡讨论。
...