Package: libwagon-http-shaded-java Version: 3.2.0-2 Severity: important Dear Maintainer,
when trying to run Maven for a Java 8 project, fetching metadata fails with java.lang.NoSuchMethodError. See log excerpt below for details. The gist is that handling URLs, HttpClient does a flip() to a ByteBuffer. From Java 9 the said method has a covariant return type, so the resultant bytecode calls java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer which fails under Java 8. A quick search showed that one strategy people are using to produce bytecode compatible on both JREs is doing ((Buffer)byteBuffer).flip(). Br, Timo $ mvn initialize -X Apache Maven 3.6.0 Maven home: /usr/share/maven Java version: 1.8.0_171, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre Default locale: fi_FI, platform encoding: UTF-8 OS name: "linux", version: "4.19.0-1-amd64", arch: "amd64", family: "unix" ... [DEBUG] Using transporter WagonTransporter with priority -1.0 for https://jcenter.bintray.com/ [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://jcenter.bintray.com/ Downloading from jcenter: https://jcenter.bintray.com/net/minidev/json-smart/2.3-SNAPSHOT/json-smart-2.3-SNAPSHOT.pom [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3.936 s [INFO] Finished at: 2019-01-09T09:19:46+02:00 [INFO] ------------------------------------------------------------------------ --------------------------------------------------- constituent[0]: file:/usr/share/maven/conf/logging/ constituent[1]: file:/usr/share/maven/lib/maven-settings-builder-3.x.jar constituent[2]: file:/usr/share/maven/lib/maven-plugin-api-3.x.jar constituent[3]: file:/usr/share/maven/lib/plexus-cipher.jar constituent[4]: file:/usr/share/maven/lib/aopalliance.jar constituent[5]: file:/usr/share/maven/lib/maven-model-3.x.jar constituent[6]: file:/usr/share/maven/lib/wagon-http-shaded.jar constituent[7]: file:/usr/share/maven/lib/plexus-utils.jar constituent[8]: file:/usr/share/maven/lib/maven-resolver-transport-wagon.jar constituent[9]: file:/usr/share/maven/lib/cdi-api.jar constituent[10]: file:/usr/share/maven/lib/plexus-component-annotations.jar constituent[11]: file:/usr/share/maven/lib/maven-resolver-spi.jar constituent[12]: file:/usr/share/maven/lib/maven-builder-support-3.x.jar constituent[13]: file:/usr/share/maven/lib/guava.jar constituent[14]: file:/usr/share/maven/lib/sisu-inject.jar constituent[15]: file:/usr/share/maven/lib/sisu-plexus.jar constituent[16]: file:/usr/share/maven/lib/jcl-over-slf4j.jar constituent[17]: file:/usr/share/maven/lib/maven-resolver-connector-basic.jar constituent[18]: file:/usr/share/maven/lib/maven-repository-metadata-3.x.jar constituent[19]: file:/usr/share/maven/lib/commons-cli.jar constituent[20]: file:/usr/share/maven/lib/commons-io.jar constituent[21]: file:/usr/share/maven/lib/maven-embedder-3.x.jar constituent[22]: file:/usr/share/maven/lib/plexus-interpolation.jar constituent[23]: file:/usr/share/maven/lib/maven-artifact-3.x.jar constituent[24]: file:/usr/share/maven/lib/maven-resolver-provider-3.x.jar constituent[25]: file:/usr/share/maven/lib/plexus-sec-dispatcher.jar constituent[26]: file:/usr/share/maven/lib/wagon-file.jar constituent[27]: file:/usr/share/maven/lib/jsr250-api.jar constituent[28]: file:/usr/share/maven/lib/maven-slf4j-provider-3.x.jar constituent[29]: file:/usr/share/maven/lib/jansi.jar constituent[30]: file:/usr/share/maven/lib/javax.inject.jar constituent[31]: file:/usr/share/maven/lib/maven-model-builder-3.x.jar constituent[32]: file:/usr/share/maven/lib/maven-resolver-impl.jar constituent[33]: file:/usr/share/maven/lib/maven-resolver-api.jar constituent[34]: file:/usr/share/maven/lib/maven-compat-3.x.jar constituent[35]: file:/usr/share/maven/lib/maven-settings-3.x.jar constituent[36]: file:/usr/share/maven/lib/maven-core-3.x.jar constituent[37]: file:/usr/share/maven/lib/slf4j-api.jar constituent[38]: file:/usr/share/maven/lib/guice.jar constituent[39]: file:/usr/share/maven/lib/wagon-provider-api.jar constituent[40]: file:/usr/share/maven/lib/maven-shared-utils.jar constituent[41]: file:/usr/share/maven/lib/commons-lang3.jar constituent[42]: file:/usr/share/maven/lib/maven-resolver-util.jar --------------------------------------------------- Exception in thread "main" java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer; at org.apache.maven.wagon.providers.http.httpclient.client.utils.URLEncodedUtils.urlDecode(URLEncodedUtils.java:590) at org.apache.maven.wagon.providers.http.httpclient.client.utils.URLEncodedUtils.decodeFormFields(URLEncodedUtils.java:619) at org.apache.maven.wagon.providers.http.httpclient.client.utils.URLEncodedUtils.parse(URLEncodedUtils.java:316) at org.apache.maven.wagon.providers.http.httpclient.client.utils.URLEncodedUtils.parse(URLEncodedUtils.java:249) at org.apache.maven.wagon.providers.http.httpclient.client.utils.URIBuilder.parseQuery(URIBuilder.java:110) at org.apache.maven.wagon.providers.http.httpclient.client.utils.URIBuilder.digestURI(URIBuilder.java:200) at org.apache.maven.wagon.providers.http.httpclient.client.utils.URIBuilder.<init>(URIBuilder.java:90) at org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRedirectStrategy.createLocationURI(DefaultRedirectStrategy.java:189) at org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRedirectStrategy.getLocationURI(DefaultRedirectStrategy.java:148) at org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRedirectStrategy.getRedirect(DefaultRedirectStrategy.java:221) at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RedirectExec.execute(RedirectExec.java:121) at org.apache.maven.wagon.providers.http.httpclient.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) at org.apache.maven.wagon.providers.http.httpclient.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.execute(AbstractHttpClientWagon.java:936) at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1095) at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1072) at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:126) at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88) at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61) at org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run(WagonTransporter.java:567) at org.eclipse.aether.transport.wagon.WagonTransporter.execute(WagonTransporter.java:435) at org.eclipse.aether.transport.wagon.WagonTransporter.get(WagonTransporter.java:412) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:456) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:363) at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:642) at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:262) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:489) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:390) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:215) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:192) at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:240) at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:171) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.resolveCachedArtifactDescriptor(DefaultDependencyCollector.java:530) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.getArtifactDescriptorResult(DefaultDependencyCollector.java:515) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:403) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:356) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process(DefaultDependencyCollector.java:344) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse(DefaultDependencyCollector.java:498) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:451) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:356) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process(DefaultDependencyCollector.java:344) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:247) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:269) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:169) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:243) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:147) at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:248) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:202) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:956) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) at org.apache.maven.cli.MavenCli.main(MavenCli.java:192) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8), LANGUAGE= (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled -- no debconf information