Maven 3.0.4 部署失败,但 Maven 3.0.0 工作正常

标签 maven maven-3 nexus

我设置了一个简单的 Maven 项目,可以部署到本地 Nexus 服务器。所有相关的配置元素都已就位(带有 URL 的 <distributionManagement> 部分,带有用户名和密码的 settings.xml 文件中的 <server> 元素等)。我知道设置是正确的,因为在 Maven 3.0 上,我可以部署。在 Maven 3.0.4 上,我有两个问题。

如果我尝试使用开箱即用的 3.0.4 进行部署,我会得到 handshake_failure 。据我所知,这是因为 3.0.4 switched backing HTTP clients 。我已将服务器 CA 的证书包含在 javax.net.ssl.trustStore 指向的信任库中在我的MAVEN_OPTS环境变量,以及由 javax.net.ssl.keyStore 指定的 keystore 中的客户端证书, as instructed 。同样,这适用于 3.0。由于某种原因,新的 HTTP 客户端没有接收到它。

所以,我尝试删除 wagon-http-lightweight JAR放入lib/ext/ 3.0.4 的目录,这给我带来了第二个问题:一旦我强制使用 lightweight客户,我不再收到 handshake_failure并开始收到 HTTP 401。同样,用户名和密码在 Maven 3.0 下工作。它显然正在获取用户名,因为使用 -X 运行包括行“

我已经为此苦苦挣扎了几个小时,但我已经走进了死胡同。我欢迎解决方案,但我也欢迎对我的下一步行动提出任何建议。

最佳答案

我推荐:

关于Maven 3.0.4 部署失败,但 Maven 3.0.0 工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15247106/

相关文章:

java - 仅当自上次构建以来文件发生更改时才执行 Maven 插件

maven - 在 maven 命令执行生命周期中排除父项及其子项或模块

java - 将 Artifact 部署到两个不同的远程存储库 - Maven?

tomcat - 在 Gentoo (log4j) 上将 Sonatype Nexus 部署到 Tomcat6 时出现问题

maven - 如何将我的 Artifact 部署到我的关系上?

java - Maven 2.2.1 无法使用 m2eclipse 构建 EAR 项目

java - 无论测试失败如何使插件目标运行

maven - 禁用父 POM 中定义的 Maven 插件

java - 线程 "main"java.lang.NoClassDefFoundError 中出现异常(Maven 项目)

maven - 如何在Grails应用中使用Nexus而不是Maven