【发布时间】:2020-10-01 18:06:00
【问题描述】:
我们有一个用户无法从 Maven 连接到 Nexus,因为它总是收到“未授权”错误,我们发现他的密码有一个 €(欧元符号)。
在分析和测试以找出如何在 Maven 的 settings.xml 中正确设置密码的过程中,我测试了以下替代方法,密码为 123456€
- 纯文本密码
- 123456€密码>
- "123456€"密码>
- '123456€'密码>
- 密码>
- 使用以下替代方法加密密码
- mvn -ep 123456€
- mvn -ep "123456€"
- mvn -ep '123456€'
- 也只使用了 mvn -ep 然后输入了所有 3 个变体
在所有这些测试中,我都无法从 Nexus 下载工件。
这是 Maven 还是 Nexus 问题?我该如何克服它?
【问题讨论】:
-
您通常调用
mvn -ep并以交互方式输入您的密码(不在命令行上提供)...打印出类似{.....}的内容,您必须将其复制到<password>{...}</password>位置...不是纯文本等... -
是的@khmarbaise,我们几乎所有用户都这样做,这是我在分析情况时的第一次尝试。这是我提出的关于加密尝试部分的原始问题的第四个示例。
-
问题似乎是欧元符号来自特定代码页(ISO-8859-15?如果我没记错的话(en.wikipedia.org/wiki/ISO/IEC_8859-15)),我认为这与系统不同既不是在 Maven 托管的系统上运行,也不是在运行 Nexus 的系统上运行,而且它取决于操作系统(Windows、Mac、Linux 等)......所以我怀疑它是否会运行......我认为äöü 等德国元音变音也会发生同样的情况。因为它们属于 ISO-8859-1 (en.wikipedia.org/wiki/ISO/IEC_8859-1) 我会按照 J Fabian Meier 的建议走这条路。