我有一个简单的 Maven 项目设置,可以部署到本地 Nexus 服务器。所有相关的配置元素都已就位(<distributionManagement>
带有 URL 的部分、<server>
带有用户名和密码的 settings.xml 文件中的元素等)。我知道设置是正确的,因为在 Maven 3.0 上,我可以部署。在 Maven 3.0.4 上,我有两个问题。
如果我尝试使用开箱即用的 3.0.4 进行部署,我会得到一个handshake_failure
. 据我所知,这是因为 3.0.4切换了支持 HTTP 客户端。javax.net.ssl.trustStore
按照指示,我已将服务器 CA 的证书包含在我的环境变量中指向的信任库中,以及MAVEN_OPTS
由 指定的密钥库中的客户端证书。同样,这适用于 3.0。出于某种原因,新的 HTTP 客户端没有接收到它。javax.net.ssl.keyStore
因此,我尝试将wagon-http-lightweight
JAR 放到lib/ext/
3.0.4 的目录中,这让我遇到了第二个问题:一旦我强制使用lightweight
客户端,我就会停止获取handshake_failure
并开始获取 HTTP 401。同样,用户名和密码在 Maven 下工作3.0。它显然是在选择用户名,因为运行 with-X
包括“
我已经为此挣扎了几个小时,但我已经走到了死胡同。我欢迎一个解决方案,但我也欢迎对我的下一步行动提出任何建议。