Exécution du test sur mon projet avec JDK11 J'obtiens des échecs sur cette ligne lorsque j'appelle Maven Aether:
Cela se produit lors du téléchargement d'une mauvaise dépendance:
commons-math3: commons-math3
Mon hypothèse est que je suis confronté à un bug JDK11 selon:
- https://stackoverflow.com/questions/52016415/jdk-11-ssl-error-on-valid-certificate-working-in-previous-versions
Si c'est le problème, Comment résoudre ce problème?
Stacktrace partiellement tronqué en raison de la limitation du stackoverflow:
[INFO] [ERROR] Failed to execute goal com.lazerycode.jmeter:jmeter-maven-plugin:DEV-SNAPSHOT:configure (configure) on project test-plugins: Failed to collect dependencies at org.Apache.jmeter:ApacheJMeter_components:jar:2.13 -> org.Apache.jmeter:jorphan:jar:2.13 -> commons-math3:commons-math3:jar:3.4.1: Failed to read artifact descriptor for commons-math3:commons-math3:jar:3.4.1: Could not transfer artifact commons-math3:commons-math3:pom:3.4.1 from/to JBoss (https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/): extension (10) should not be presented in server_hello -> [Help 1]
[INFO] org.Apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.lazerycode.jmeter:jmeter-maven-plugin:DEV-SNAPSHOT:configure (configure) on project test-plugins: Failed to collect dependencies at org.Apache.jmeter:ApacheJMeter_components:jar:2.13 -> org.Apache.jmeter:jorphan:jar:2.13 -> commons-math3:commons-math3:jar:3.4.1
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:213)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:154)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:146)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.Java:117)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.Java:81)
[INFO] at org.Apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.Java:51)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.Java:128)
[INFO] at org.Apache.maven.DefaultMaven.doExecute (DefaultMaven.Java:309)
[INFO] at org.Apache.maven.DefaultMaven.doExecute (DefaultMaven.Java:194)
[INFO] at org.Apache.maven.DefaultMaven.execute (DefaultMaven.Java:107)
[INFO] at org.Apache.maven.cli.MavenCli.execute (MavenCli.Java:955)
[INFO] at org.Apache.maven.cli.MavenCli.doMain (MavenCli.Java:290)
[INFO] at org.Apache.maven.cli.MavenCli.main (MavenCli.Java:194)
[INFO] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
[INFO] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.Java:62)
[INFO] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.Java:43)
[INFO] at Java.lang.reflect.Method.invoke (Method.Java:566)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.Java:289)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.Java:229)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.Java:415)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.Java:356)
[INFO] ...
[INFO] Caused by: org.Eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact commons-math3:commons-math3:pom:3.4.1 from/to JBoss (https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/): extension (10) should not be presented in server_hello
[INFO] at org.Eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed (ArtifactTransportListener.Java:52)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.Java:365)
[INFO] at org.Eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.Java:75)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute (BasicRepositoryConnector.Java:583)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector.get (BasicRepositoryConnector.Java:259)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.Java:498)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.Java:399)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.Java:224)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.Java:201)
[INFO] at org.Apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.Java:261)
[INFO] at org.Apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.Java:192)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.resolveCachedArtifactDescriptor (DefaultDependencyCollector.Java:539)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.getArtifactDescriptorResult (DefaultDependencyCollector.Java:522)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:411)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:365)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.process (DefaultDependencyCollector.Java:353)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.Java:507)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:460)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:365)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.process (DefaultDependencyCollector.Java:353)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.Java:256)
[INFO] at org.Eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.Java:282)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyTransitiveRuntimeDependenciesToLibDirectory (ConfigureJMeterMojo.Java:643)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyTransitiveRuntimeDependenciesToLibDirectory (ConfigureJMeterMojo.Java:674)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyTransitiveRuntimeDependenciesToLibDirectory (ConfigureJMeterMojo.Java:674)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.resolveTestDependenciesAndCopyWithTransitivity (ConfigureJMeterMojo.Java:577)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyExplicitLibraries (ConfigureJMeterMojo.Java:532)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyExplicitLibraries (ConfigureJMeterMojo.Java:515)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.doExecute (ConfigureJMeterMojo.Java:327)
[INFO] at com.lazerycode.jmeter.mojo.AbstractJMeterMojo.execute (AbstractJMeterMojo.Java:233)
[INFO] at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.Java:134)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:208)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:154)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:146)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.Java:117)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.Java:81)
[INFO] at org.Apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.Java:51)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.Java:128)
[INFO] at org.Apache.maven.DefaultMaven.doExecute (DefaultMaven.Java:309)
[INFO] at org.Apache.maven.DefaultMaven.doExecute (DefaultMaven.Java:194)
[INFO] at org.Apache.maven.DefaultMaven.execute (DefaultMaven.Java:107)
[INFO] at org.Apache.maven.cli.MavenCli.execute (MavenCli.Java:955)
[INFO] at org.Apache.maven.cli.MavenCli.doMain (MavenCli.Java:290)
[INFO] at org.Apache.maven.cli.MavenCli.main (MavenCli.Java:194)
[INFO] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
[INFO] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.Java:62)
[INFO] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.Java:43)
[INFO] at Java.lang.reflect.Method.invoke (Method.Java:566)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.Java:289)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.Java:229)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.Java:415)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.Java:356)
[INFO] Caused by: org.Apache.maven.wagon.TransferFailedException: extension (10) should not be presented in server_hello
[INFO] at org.Apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData (AbstractHttpClientWagon.Java:1068)
[INFO] at org.Apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData (AbstractHttpClientWagon.Java:962)
[INFO] at org.Apache.maven.wagon.StreamWagon.getInputStream (StreamWagon.Java:126)
[INFO] at org.Apache.maven.wagon.StreamWagon.getIfNewer (StreamWagon.Java:88)
[INFO] at org.Apache.maven.wagon.StreamWagon.get (StreamWagon.Java:61)
[INFO] at org.Eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run (WagonTransporter.Java:567)
[INFO] at org.Eclipse.aether.transport.wagon.WagonTransporter.execute (WagonTransporter.Java:435)
[INFO] at org.Eclipse.aether.transport.wagon.WagonTransporter.get (WagonTransporter.Java:412)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask (BasicRepositoryConnector.Java:453)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.Java:360)
[INFO] at org.Eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.Java:75)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute (BasicRepositoryConnector.Java:583)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector.get (BasicRepositoryConnector.Java:259)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.Java:498)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.Java:399)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.Java:224)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.Java:201)
[INFO] at org.Apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.Java:261)
[INFO] at org.Apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.Java:192)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.resolveCachedArtifactDescriptor (DefaultDependencyCollector.Java:539)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.getArtifactDescriptorResult (DefaultDependencyCollector.Java:522)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:411)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:365)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.process (DefaultDependencyCollector.Java:353)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.Java:507)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:460)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:365)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.process (DefaultDependencyCollector.Java:353)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.Java:256)
[INFO] at org.Eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.Java:282)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyTransitiveRuntimeDependenciesToLibDirectory (ConfigureJMeterMojo.Java:643)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyTransitiveRuntimeDependenciesToLibDirectory (ConfigureJMeterMojo.Java:674)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyTransitiveRuntimeDependenciesToLibDirectory (ConfigureJMeterMojo.Java:674)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.resolveTestDependenciesAndCopyWithTransitivity (ConfigureJMeterMojo.Java:577)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyExplicitLibraries (ConfigureJMeterMojo.Java:532)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyExplicitLibraries (ConfigureJMeterMojo.Java:515)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.doExecute (ConfigureJMeterMojo.Java:327)
[INFO] at com.lazerycode.jmeter.mojo.AbstractJMeterMojo.execute (AbstractJMeterMojo.Java:233)
[INFO] at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.Java:134)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:208)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:154)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:146)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.Java:117)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.Java:81)
[INFO] at org.Apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.Java:51)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.Java:128)
[INFO] at org.Apache.maven.DefaultMaven.doExecute (DefaultMaven.Java:309)
[INFO] at org.Apache.maven.DefaultMaven.doExecute (DefaultMaven.Java:194)
[INFO] at org.Apache.maven.DefaultMaven.execute (DefaultMaven.Java:107)
[INFO] at org.Apache.maven.cli.MavenCli.execute (MavenCli.Java:955)
[INFO] at org.Apache.maven.cli.MavenCli.doMain (MavenCli.Java:290)
[INFO] at org.Apache.maven.cli.MavenCli.main (MavenCli.Java:194)
[INFO] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
[INFO] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.Java:62)
[INFO] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.Java:43)
[INFO] at Java.lang.reflect.Method.invoke (Method.Java:566)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.Java:289)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.Java:229)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.Java:415)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.Java:356)
[INFO] Caused by: javax.net.ssl.SSLHandshakeException: extension (10) should not be presented in server_hello
[INFO] at Sun.security.ssl.Alert.createSSLException (Alert.Java:128)
[INFO] at Sun.security.ssl.Alert.createSSLException (Alert.Java:117)
[INFO] at Sun.security.ssl.TransportContext.fatal (TransportContext.Java:308)
[INFO] at Sun.security.ssl.TransportContext.fatal (TransportContext.Java:264)
[INFO] at Sun.security.ssl.TransportContext.fatal (TransportContext.Java:255)
[INFO] at Sun.security.ssl.SSLExtensions.<init> (SSLExtensions.Java:71)
[INFO] at Sun.security.ssl.ServerHello$ServerHelloMessage.<init> (ServerHello.Java:173)
[INFO] at Sun.security.ssl.ServerHello$ServerHelloConsumer.consume (ServerHello.Java:864)
[INFO] at Sun.security.ssl.SSLHandshake.consume (SSLHandshake.Java:392)
[INFO] at Sun.security.ssl.HandshakeContext.dispatch (HandshakeContext.Java:444)
[INFO] at Sun.security.ssl.HandshakeContext.dispatch (HandshakeContext.Java:421)
[INFO] at Sun.security.ssl.TransportContext.dispatch (TransportContext.Java:178)
[INFO] at Sun.security.ssl.SSLTransport.decode (SSLTransport.Java:164)
[INFO] at Sun.security.ssl.SSLSocketImpl.decode (SSLSocketImpl.Java:1152)
[INFO] at Sun.security.ssl.SSLSocketImpl.readHandshakeRecord (SSLSocketImpl.Java:1063)
[INFO] at Sun.security.ssl.SSLSocketImpl.startHandshake (SSLSocketImpl.Java:402)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket (SSLConnectionSocketFactory.Java:394)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.conn.ssl.SSLConnectionSocketFactory.connectSocket (SSLConnectionSocketFactory.Java:353)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.impl.conn.DefaultHttpClientConnectionOperator.connect (DefaultHttpClientConnectionOperator.Java:141)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.impl.conn.PoolingHttpClientConnectionManager.connect (PoolingHttpClientConnectionManager.Java:353)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.impl.execchain.MainClientExec.establishRoute (MainClientExec.Java:380)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.impl.execchain.MainClientExec.execute (MainClientExec.Java:236)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.impl.execchain.ProtocolExec.execute (ProtocolExec.Java:184)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec.execute (RetryExec.Java:88)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.impl.execchain.RedirectExec.execute (RedirectExec.Java:110)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.impl.client.InternalHttpClient.doExecute (InternalHttpClient.Java:184)
[INFO] at org.Apache.maven.wagon.providers.http.httpclient.impl.client.CloseableHttpClient.execute (CloseableHttpClient.Java:82)
[INFO] at org.Apache.maven.wagon.providers.http.AbstractHttpClientWagon.execute (AbstractHttpClientWagon.Java:834)
[INFO] at org.Apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData (AbstractHttpClientWagon.Java:985)
[INFO] at org.Apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData (AbstractHttpClientWagon.Java:962)
[INFO] at org.Apache.maven.wagon.StreamWagon.getInputStream (StreamWagon.Java:126)
[INFO] at org.Apache.maven.wagon.StreamWagon.getIfNewer (StreamWagon.Java:88)
[INFO] at org.Apache.maven.wagon.StreamWagon.get (StreamWagon.Java:61)
[INFO] at org.Eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run (WagonTransporter.Java:567)
[INFO] at org.Eclipse.aether.transport.wagon.WagonTransporter.execute (WagonTransporter.Java:435)
[INFO] at org.Eclipse.aether.transport.wagon.WagonTransporter.get (WagonTransporter.Java:412)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask (BasicRepositoryConnector.Java:453)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.Java:360)
[INFO] at org.Eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.Java:75)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute (BasicRepositoryConnector.Java:583)
[INFO] at org.Eclipse.aether.connector.basic.BasicRepositoryConnector.get (BasicRepositoryConnector.Java:259)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.Java:498)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.Java:399)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.Java:224)
[INFO] at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.Java:201)
[INFO] at org.Apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.Java:261)
[INFO] at org.Apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.Java:192)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.resolveCachedArtifactDescriptor (DefaultDependencyCollector.Java:539)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.getArtifactDescriptorResult (DefaultDependencyCollector.Java:522)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:411)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:365)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.process (DefaultDependencyCollector.Java:353)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.Java:507)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:460)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.Java:365)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.process (DefaultDependencyCollector.Java:353)
[INFO] at org.Eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.Java:256)
[INFO] at org.Eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.Java:282)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyTransitiveRuntimeDependenciesToLibDirectory (ConfigureJMeterMojo.Java:643)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyTransitiveRuntimeDependenciesToLibDirectory (ConfigureJMeterMojo.Java:674)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyTransitiveRuntimeDependenciesToLibDirectory (ConfigureJMeterMojo.Java:674)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.resolveTestDependenciesAndCopyWithTransitivity (ConfigureJMeterMojo.Java:577)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyExplicitLibraries (ConfigureJMeterMojo.Java:532)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.copyExplicitLibraries (ConfigureJMeterMojo.Java:515)
[INFO] at com.lazerycode.jmeter.mojo.ConfigureJMeterMojo.doExecute (ConfigureJMeterMojo.Java:327)
[INFO] at com.lazerycode.jmeter.mojo.AbstractJMeterMojo.execute (AbstractJMeterMojo.Java:233)
[INFO] at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.Java:134)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:208)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:154)
[INFO] at org.Apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.Java:146)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.Java:117)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.Java:81)
[INFO] at org.Apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.Java:51)
[INFO] at org.Apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.Java:128)
[INFO] at org.Apache.maven.DefaultMaven.doExecute (DefaultMaven.Java:309)
[INFO] at org.Apache.maven.DefaultMaven.doExecute (DefaultMaven.Java:194)
[INFO] at org.Apache.maven.DefaultMaven.execute (DefaultMaven.Java:107)
[INFO] at org.Apache.maven.cli.MavenCli.execute (MavenCli.Java:955)
[INFO] at org.Apache.maven.cli.MavenCli.doMain (MavenCli.Java:290)
[INFO] at org.Apache.maven.cli.MavenCli.main (MavenCli.Java:194)
[INFO] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
[INFO] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.Java:62)
[INFO] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.Java:43)
[INFO] at Java.lang.reflect.Method.invoke (Method.Java:566)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.Java:289)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.Java:229)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.Java:415)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.Java:356)
Une introduction rapide et informative du problème a été fournie par @cocorossello dans sa réponse, j'ajouterai seulement que tout a commencé à partir de la Liste de diffusion Javaici >> .
Ce message comprend également un exemple rapide pour reproduire le "problème":
import Java.net.URL;
import Java.io.InputStream;
public class Fetch {
public static void main(final String[] args) throws Exception {
final URL targetURL = new URL("https://repository.jboss.org/nexus/content/groups/public/javax/media/jai-core/1.1.3/jai-core-1.1.3.pom");
try (final InputStream is = targetURL.openConnection().getInputStream()) {
is.read();
}
System.out.println("Done");
}
}
Le problème est lié à [~ # ~] jsse [~ # ~] ( Java Secure Socket Extension) module/bibliothèque - le Java implémentation interne pour des connexions sécurisées [~ # ~] ssl [~ # ~]/ [~ # ~] tls [~ # ~] connexions .
[~ # ~] solution de contournement [~ # ~] : Donc, pour contourner ce problème, nous devons utiliser différents [~ # ~] ssl [~ # ~]/ [~ # ~] tls [~ # ~] implémentation, par exemple Château gonflable
J'ai créé un petit projet dans GitHub comme preuve de concept: jdk11-server_hello-workaround , la classe principale est FetchWorkaround.Java
, qui ressemble à ceci:
import org.bouncycastle.crypto.tls.*;
import Java.io.*;
import Java.net.InetAddress;
import Java.net.Socket;
import Java.security.SecureRandom;
public class FetchWorkaround {
private static final String Host = "repository.jboss.org";
private static final int PORT = 443;
private static final String RESOURCE = "/nexus/content/groups/public/javax/media/jai-core/1.1.3/jai-core-1.1.3.pom";
public static void main(String[] args) throws Exception {
TlsClientProtocol protocol = getTlsClientProtocol();
sendRequest(protocol);
readResponseStream(protocol.getInputStream());
}
private static void readResponseStream(InputStream input) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String line;
try {
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (TlsNoCloseNotifyException exception) {
// do nothing
}
}
private static void sendRequest(TlsClientProtocol protocol) throws IOException {
OutputStream output = protocol.getOutputStream();
output.write(("GET " + RESOURCE + " HTTP/1.1\r\n").getBytes("UTF-8"));
output.write(("Host: " + Host + "\r\n").getBytes("UTF-8"));
output.write("Connection: close\r\n".getBytes("UTF-8")); // To force socket close immediately.
output.write("\r\n".getBytes("UTF-8")); // HTTP 1.1 requirement: last line must be empty line.
output.flush();
}
private static TlsClientProtocol getTlsClientProtocol() throws IOException {
SecureRandom secureRandom = new SecureRandom();
Socket socket = new Socket(InetAddress.getByName(Host), PORT);
TlsClientProtocol protocol = new TlsClientProtocol(socket.getInputStream(), socket.getOutputStream(), secureRandom);
DefaultTlsClient client = new DefaultTlsClient() {
public TlsAuthentication getAuthentication() throws IOException {
TlsAuthentication auth = new TlsAuthentication() {
public void notifyServerCertificate(Certificate serverCertificate) throws IOException {
}
public TlsCredentials getClientCredentials(CertificateRequest certificateRequest) throws IOException {
return null;
}
};
return auth;
}
};
protocol.connect(client);
return protocol;
}
}
Il se connecte à l'hôte (celui du Fetch.Java
) en utilisant un socket en définissant TlsClientProtocol
et en envoyant une requête GET
à la ressource requise (idem pom.xml), la sortie se présente ainsi:
HTTP/1.1 200 OK
Date: Wed, 26 Sep 2018 04:40:54 GMT
Server: Nexus/2.14.6-02
<... other headers ...>
<?xml version="1.0"?>
<project xmlns="http://maven.Apache.org/POM/4.0.0"
<... etc ...>
<groupId>javax.media</groupId>
<artifactId>jai-core</artifactId>
<version>1.1.3</version>
<... etc ...>
Donc pom.xml a été récupéré avec succès.
PoC montre qu'il est possible de gérer server_hello problème lié côté client, mais cela peut prendre du temps (en particulier pour remplacer Aether logique associée) .
Dans la réponse à cette question >> il est montré comment télécharger des données binaires en utilisant des sockets - juste une méthode d'aide pour gérer les en-têtes en haut de la réponse.
[Nécessite un accès à la VM] Ici >> est le manuel pour configurer Bouncy Castle Provider au niveau Java.
[Nécessite un accès à la VM] Dans le cas où il est possible de mettre à jour [~ # ~] jdk [~ # ~] = du côté VM (build/CI) - il peut être raisonnable de faire un [~ # ~] jdk [~ # ~] build personnalisé en utilisant le correctif de bogue PATCH >> - il n'affecte que Sun.security.ssl.SSLExtensions
classe - ou simplement en utilisant les structure des sources >>
OpenSSL 1.1.1 est plus strict avec la spécification, donc ce n'est pas strictement un bug, mais c'est quelque chose qui aura un impact sur certains utilisateurs. Il est résolu dans JDK 12 et ciblé pour JDK 11.0.2, donc le patch prendra un certain temps (le backport est https://bugs.openjdk.Java.net/browse/JDK-8210005 ).
Dans mon cas, j'ai fait une solution de contournement en utilisant nginx comme "proxy SSL":
server {
listen 80;
server_name myjbossrepository.mydomain.com;
location / {
proxy_set_header Host repository.jboss.org;
proxy_pass https://repository.jboss.org/;
proxy_ssl_session_reuse off;
proxy_redirect off;
}
}
Et puis vous devrez configurer l'URL de votre référentiel comme https://myjbossrepository.mydomain.com/nexus/content/repositories/thirdparty-releases/
Vous pouvez également utiliser votre propre certificat si vous souhaitez:
server {
listen 443 http2 ssl;
server_name myjbossrepository.mydomain.com;
ssl_certificate /etc/conf/letsencryptcertificates/live/myjbossrepository.mydomain.com/fullchain.pem;
ssl_certificate_key /etc/conf/letsencryptcertificates/live/myjbossrepository.mydomain.com/privkey.pem;
location / {
proxy_set_header Host repository.jboss.org;
proxy_pass https://repository.jboss.org/;
proxy_ssl_session_reuse off;
proxy_redirect off;
}
}
J'ai le même problème dans le projet Activiti lorsque j'essaie de construire avec OpenJDK 11 en raison d'une dépendance à l'égard de Drools qui à son tour essaie de tirer ses propres dépendances transitives du référentiel JBoss plutôt que du centre de Maven.
Pendant que le problème sur le dépôt JBoss Nexus https://issues.jboss.org/browse/NEXUS-181 ou JDK 11 est en cours de résolution, j'ai résolu le problème côté client en utilisant un fichier settings.xml personnalisé fichier qui définit jcenter comme un miroir du repo jboss:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.Apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.Apache.org/SETTINGS/1.0.0 http://maven.Apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<!-- use this mirror with OpenJDK 11 as a workaround for https://bugs.openjdk.Java.net/browse/JDK-8210005 and https://issues.jboss.org/browse/NEXUS-181 -->
<mirror>
<id>jboss-public-repository-group-central-mirror</id>
<url>https://jcenter.bintray.com</url>
<mirrorOf>jboss-public-repository-group</mirrorOf>
</mirror>
</mirrors>
</settings>
et appeler ma version avec: mvn -s settings.xml install