web-dev-qa-db-ja.com

「extension(10)をserver_helloに表示すべきではない」という誤った依存関係をダウンロードすると、JDK 11を使用するMavenが失敗する

JDK11を使用してプロジェクトでテストを実行すると、Maven Aetherを呼び出すときにこの行でエラーが発生します。

これは、間違った依存関係をダウンロードするときに発生します。

commons-math3:commons-math3

私の仮説は、 JDK11バグ に直面しているということです:

  - https://stackoverflow.com/questions/52016415/jdk-11-ssl-error-on-valid-certificate-working-in-previous-versions

問題である場合、これを回避するにはどうすればよいですか?

StackOverflowの制限によりStacktraceが部分的に切り捨てられました。

[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)
19
UBIK LOAD PACK

追加のイントロ

問題の簡単な紹介は@cocorosselloの回答で提供されました。すべてがJavaメーリングリストここ>> から開始されたことだけを追加します。

このメッセージには、「問題」を再現するための簡単なサンプルも含まれています。

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");
    }
}

クライアント側のソリューション:

問題は[〜#〜] jsse [〜#〜]Java Secure Socket Extension)モジュール/ライブラリに関連しています-Java内部実装安全のため[〜#〜] ssl [〜#〜]/[〜#〜] tls [〜#〜]接続。

[〜#〜] workaround [〜#〜]:この問題を回避するには、異なる[〜#〜] sslを使用する必要があります[〜#〜]/[〜#〜] tls [〜#〜]実装、たとえば 弾力がある城

概念実証としてGitHubで小さなプロジェクトを作成しました: jdk11-server_hello-workaround 、メインクラスはFetchWorkaround.Javaです。

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;
    }

}

TlsClientProtocolを定義することでソケットを使用してホスト(Fetch.Javaからのもの)に接続し、GET要求を必要なリソースに送信します(同じpom.xml)、出力は次のようになります。

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 ...>

pom.xmlは正常に取得されました。


追加情報

  1. PoCは、クライアント側でserver_hello関連の問題を処理できることを示していますが、時間がかかる場合があります(特にAether関連ロジックを置き換えるため)。

  2. これに対する回答では、 question >> ソケットを使用してバイナリデータをダウンロードする方法が示されています。応答の先頭にあるヘッダーを処理するためのヘルパーメソッドです。

  3. [VMへのアクセスが必要]ここ>> は、設定方法のマニュアルですBouncy Castle Provider = Javaレベル。

  4. [VMへのアクセスが必要]更新できる場合[〜#〜] jdk [〜#〜] on VM(build/CI)side-バグ修正を使用してビルドするカスタム[〜#〜] jdk [〜#〜]を行うのが妥当かもしれません PATCH >> -Sun.security.ssl.SSLExtensionsクラスのみに影響する-または関連する sources structure >> を使用するだけ

8
marme1ad

OpenSSL 1.1.1は仕様に関してより厳密であるため、厳密にはバグではありませんが、一部のユーザーに影響を与えるものです。 JDK 12で解決され、JDK 11.0.2を対象としているため、パッチにはしばらく時間がかかります(バックポートは https://bugs.openjdk.Java.net/browse/JDK-8210005 です)。

私の場合、nginxを「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;
    }
}

そして、リポジトリのURLを https://myjbossrepository.mydomain.com/nexus/content/repositories/thirdparty-releases/ として設定する必要があります

必要に応じて、独自の証明書を使用することもできます。

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;
    }
}
4
cocorossello

Droolsに依存しているためにOpenJDK 11でビルドしようとすると、Activitiプロジェクトで同じ問題が発生し、MavenセントラルではなくJBossリポジトリから推移的な依存関係を取得しようとします。

JBoss Nexusリポジトリ https://issues.jboss.org/browse/NEXUS-181 またはJDK 11の問題に対処している間に、カスタムsettings.xmlを使用してクライアント側で修正しました jcenter を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>

そして私のビルドを呼び出す:mvn -s settings.xml install

1
magomarcelo