无法从 Jenkins 将工件部署到 Nexus 存储库

Not able to deploy artifacts to Nexus repository from Jenkins

我正在尝试将我的工件从 Jenkins 推送到 Nexus。从 Jenkins 部署到 Nexus 时出现以下错误:

Jenkins 控制台输出中的错误消息:

15:59:06 [错误] 无法在项目 sbx-java-webapp 上执行目标 org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) :部署失败artifacts/metadata:无法使用可用的连接器工厂以默认类型访问:BasicRepositoryConnectorFactory:无法使用已注册的运输工厂进行访问:WagonTransporterFactory:java.util.NoSuchElementException

15:59:06 [错误] 角色:org.apache.maven.wagon.Wagon

15:59:06 [错误] 角色提示:“http

15:59:06 [错误] -> [帮助 1]

15:59:06 [错误]

15:59:06 [错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。

15:59:06 [错误] 重新 运行 Maven 使用 -X 开关启用完整的调试日志记录。

15:59:06 [错误]

15:59:06 [ERROR]有关错误和可能的解决方案的更多信息,请阅读以下文章:

15:59:06 [错误] [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

我已经尝试了几种方法来完成这项工作。但是当我在我的 windows 机器上使用 maven deploy 目标时,它将我的工件部署到同一个 Nexus 存储库而没有任何失败。但是从詹金斯那里,我收到了这个错误。在这两种环境中,我使用的 pom.xml 和 settings.xml 是相同的。我在 jenkins 中尝试过使用不同的 maven 版本来解决这个问题,但没有帮助。

我已经尝试在 CLI 和 settings.xml 中提及 wagonProvider,我还尝试在构建中使用 wagonProviders 的扩展,我什至使用 extensions.xml 并将其包含在 maven 3.0 版的描述符中。 5 WagonTransporterFactory 可用,但 none 帮助了我。我也尝试重新安装和重新配置 Jenkins,但这对我也没有帮助。

如果我们能解决这个问题,那将是很大的帮助。谢谢

哦....我的问题已经解决了。另一个例子告诉我一个小错误可能会导致更大的问题。

问题发生在我将我的 Nexus 存储库 URL 作为 jenkins 中的系统变量传递给 maven 部署命令时,如下所示:

nexus_rel_repo="${NEXUS_REPO_URL}"

其中 NEXUS_REPO_URL 已经是我在 Jenkins 中分配的字符串参数。 nexus_rel_repo 是我的系统变量,你可以在这里看到我在分配我的 Nexus 存储库时使用了 双引号 URL 已经是 nexus_rel_repo 的字符串参数。这些额外的双引号的出现扰乱了连接。

感谢所有关注此问题并已对此进行研究的人。