【发布时间】:2020-09-30 17:20:37
【问题描述】:
Artifactory 版本 - 7.5.5
Jenkins Artifactory 插件版本 - 3.6.2
Maven 集成插件版本 - 3.6
Apache HttpComponents Client 4.x API 插件版本 - 4.5.10-2.0
管道脚本:
node {
withMaven(maven: 'RnDMaven') { {
def server = Artifactory.server('RnDArtifactory')
def rtMaven = Artifactory.newMavenBuild()
rtMaven.deployer server : server , releaseRepo : "MGB", snapshotRepo : "MGB"
def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'clean install'
}
}
我使用上述配置和管道脚本进行了 Artifactory maven 构建,因此出现以下错误。做了各种事情来解决它,例如更改插件的版本,甚至下载了最新版本的 Jenkins,但结果是一样的。
java.lang.NoSuchFieldError: org.apache.http.conn.ssl.SSLConnectionSocketFactory 的实例。
错误原因是上面提到的。在 Internet 和 artifactory 论坛中找到的各种解决方案都指向插件版本中的冲突。但即使在升级之后,我也得到了相同的结果。完整的跟踪如下。
[错误] org.jfrog.build.extractor.maven.BuildInfoRecorder.sessionEnded() 侦听器失败:java.lang.RuntimeException: java.util.concurrent.ExecutionException:java.lang.NoSuchFieldError: 实例在 org.jfrog.build.extractor.ModuleParallelDeployHelper.deployArtifacts(ModuleParallelDeployHelper.java:37) 在 org.jfrog.build.extractor.maven.BuildDeploymentHelper.deploy(BuildDeploymentHelper.java:88) 在 org.jfrog.build.extractor.maven.BuildInfoRecorder.sessionEnded(BuildInfoRecorder.java:173) 在 org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:64) 在 org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42) 在 org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:170) 在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 在 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 在 org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 在 org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 在 org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) 引起:java.util.concurrent.ExecutionException: java.lang.NoSuchFieldError:实例在 java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357) 在 java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908) 在 org.jfrog.build.extractor.ModuleParallelDeployHelper.deployArtifacts(ModuleParallelDeployHelper.java:35) ... 18 更多原因:java.lang.NoSuchFieldError: INSTANCE at org.apache.http.conn.ssl.SSLConnectionSocketFactory.(SSLConnectionSocketFactory.java:151) 在 org.apache.http.impl.conn.PoolingHttpClientConnectionManager.getDefaultRegistry(PoolingHttpClientConnectionManager.java:115) 在 org.apache.http.impl.conn.PoolingHttpClientConnectionManager.(PoolingHttpClientConnectionManager.java:122) 在 org.jfrog.build.client.PreemptiveHttpClientBuilder.buildConnectionManager(PreemptiveHttpClientBuilder.java:143) 在 org.jfrog.build.client.PreemptiveHttpClientBuilder.build(PreemptiveHttpClientBuilder.java:113) 在 org.jfrog.build.client.ArtifactoryHttpClient.getHttpClient(ArtifactoryHttpClient.java:177) 在 org.jfrog.build.client.ArtifactoryHttpClient.getHttpClient(ArtifactoryHttpClient.java:159) 在 org.jfrog.build.client.ArtifactoryHttpClient.executeGetRequest(ArtifactoryHttpClient.java:216) 在 org.jfrog.build.client.ArtifactoryHttpClient.getVersion(ArtifactoryHttpClient.java:185) 在 org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBaseClient.getArtifactoryVersion(ArtifactoryBaseClient.java:127) 在 org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBuildInfoClient.tryChecksumDeploy(ArtifactoryBuildInfoClient.java:717) 在 org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBuildInfoClient.uploadFile(ArtifactoryBuildInfoClient.java:676) 在 org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBuildInfoClient.doDeployArtifact(ArtifactoryBuildInfoClient.java:379) 在 org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBuildInfoClient.deployArtifact(ArtifactoryBuildInfoClient.java:367) 在 org.jfrog.build.extractor.ModuleParallelDeployHelper.lambda$deploy$4(ModuleParallelDeployHelper.java:45) 在 java.lang.Iterable.forEach(Iterable.java:75) 在 org.jfrog.build.extractor.ModuleParallelDeployHelper.deploy(ModuleParallelDeployHelper.java:43) 在 org.jfrog.build.extractor.ModuleParallelDeployHelper.lambda$null$1(ModuleParallelDeployHelper.java:33) 在 java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) [错误] 内部错误: java.lang.RuntimeException: org.jfrog.build.extractor.maven.BuildInfoRecorder.sessionEnded() 侦听器失败:java.util.concurrent.ExecutionException: java.lang.NoSuchFieldError: 实例 -> [帮助 1] org.apache.maven.InternalErrorException:内部错误: java.lang.RuntimeException: org.jfrog.build.extractor.maven.BuildInfoRecorder.sessionEnded() 侦听器失败:在 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:168) 在 org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 在 org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 在 org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) 引起:java.lang.RuntimeException: org.jfrog.build.extractor.maven.BuildInfoRecorder.sessionEnded() 侦听器失败:在 org.jfrog.build.extractor.maven.BuildInfoRecorder.sessionEnded(BuildInfoRecorder.java:182) 在 org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:64) 在 org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42) 在 org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:170) 在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 在 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) ... 11 更多原因:java.lang.RuntimeException: java.util.concurrent.ExecutionException:java.lang.NoSuchFieldError: 实例在 org.jfrog.build.extractor.ModuleParallelDeployHelper.deployArtifacts(ModuleParallelDeployHelper.java:37) 在 org.jfrog.build.extractor.maven.BuildDeploymentHelper.deploy(BuildDeploymentHelper.java:88) 在 org.jfrog.build.extractor.maven.BuildInfoRecorder.sessionEnded(BuildInfoRecorder.java:173) ... 16 更多原因:java.util.concurrent.ExecutionException: java.lang.NoSuchFieldError:实例在 java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357) 在 java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908) 在 org.jfrog.build.extractor.ModuleParallelDeployHelper.deployArtifacts(ModuleParallelDeployHelper.java:35) ... 18 更多原因:java.lang.NoSuchFieldError: INSTANCE at org.apache.http.conn.ssl.SSLConnectionSocketFactory.(SSLConnectionSocketFactory.java:151) 在 org.apache.http.impl.conn.PoolingHttpClientConnectionManager.getDefaultRegistry(PoolingHttpClientConnectionManager.java:115) 在 org.apache.http.impl.conn.PoolingHttpClientConnectionManager.(PoolingHttpClientConnectionManager.java:122) 在 org.jfrog.build.client.PreemptiveHttpClientBuilder.buildConnectionManager(PreemptiveHttpClientBuilder.java:143) 在 org.jfrog.build.client.PreemptiveHttpClientBuilder.build(PreemptiveHttpClientBuilder.java:113) 在 org.jfrog.build.client.ArtifactoryHttpClient.getHttpClient(ArtifactoryHttpClient.java:177) 在 org.jfrog.build.client.ArtifactoryHttpClient.getHttpClient(ArtifactoryHttpClient.java:159) 在 org.jfrog.build.client.ArtifactoryHttpClient.executeGetRequest(ArtifactoryHttpClient.java:216) 在 org.jfrog.build.client.ArtifactoryHttpClient.getVersion(ArtifactoryHttpClient.java:185) 在 org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBaseClient.getArtifactoryVersion(ArtifactoryBaseClient.java:127) 在 org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBuildInfoClient.tryChecksumDeploy(ArtifactoryBuildInfoClient.java:717) 在 org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBuildInfoClient.uploadFile(ArtifactoryBuildInfoClient.java:676) 在 org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBuildInfoClient.doDeployArtifact(ArtifactoryBuildInfoClient.java:379) 在 org.jfrog.build.extractor.clientConfiguration.client.ArtifactoryBuildInfoClient.deployArtifact(ArtifactoryBuildInfoClient.java:367) 在 org.jfrog.build.extractor.ModuleParallelDeployHelper.lambda$deploy$4(ModuleParallelDeployHelper.java:45) 在 java.lang.Iterable.forEach(Iterable.java:75) 在 org.jfrog.build.extractor.ModuleParallelDeployHelper.deploy(ModuleParallelDeployHelper.java:43) 在 org.jfrog.build.extractor.ModuleParallelDeployHelper.lambda$null$1(ModuleParallelDeployHelper.java:33) 在 java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748)
【问题讨论】:
标签: jenkins jenkins-pipeline jenkins-plugins artifactory apache-httpclient-4.x