Bug 1909897 - Maven cannot be used with java-1.8.0
Summary: Maven cannot be used with java-1.8.0
Keywords:
Status: CLOSED DUPLICATE of bug 1885300
Alias: None
Product: Fedora
Classification: Fedora
Component: maven
Version: 33
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Java Package Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-12-22 00:45 UTC by Kyle Marek
Modified: 2020-12-27 14:44 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-12-27 14:44:59 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Kyle Marek 2020-12-22 00:45:48 UTC
Description of problem:
Maven on F33 is compiled targeting a variant of Java greater than 1.8.0 (probably the new default: 11). It cannot be used with java-1.8.0-openjdk-devel.

We must run maven with 1.8.0 to build our enterprise projects.

Version-Release number of selected component (if applicable):
maven-3.6.3-5.fc33.noarch

How reproducible:
Depends on task. 100% if ~/.m2/ is empty

Additional info:

Maven from apache.org works fine (https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz).

Demonstration using RPM from F33 (note runtime used in each -version command):

kmarek@kyle-ppc64le ~/mvn-test
$ cat pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <packaging>jar</packaging>
  <version>1</version>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
</project>

kmarek@kyle-ppc64le ~/mvn-test
$ rm -rf ~/.m2/

kmarek@kyle-ppc64le ~/mvn-test
$ java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)

kmarek@kyle-ppc64le ~/mvn-test
$ javac -version
javac 1.8.0_275

kmarek@kyle-ppc64le ~/mvn-test
$ mvn -version
Apache Maven 3.6.3 (Red Hat 3.6.3-5)
Maven home: /usr/share/maven
Java version: 11.0.9.1, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-11-openjdk-11.0.9.11-4.fc33.ppc64le
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.83-100.fc31.ppc64le", arch: "ppc64le", family: "unix"

kmarek@kyle-ppc64le ~/mvn-test
$ JAVA_HOME=/usr/lib/jvm/java-1.8.0/ mvn -version
Apache Maven 3.6.3 (Red Hat 3.6.3-5)
Maven home: /usr/share/maven
Java version: 1.8.0_275, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-1.fc33.ppc64le/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.83-100.fc31.ppc64le", arch: "ppc64le", family: "unix"

kmarek@kyle-ppc64le ~/mvn-test
$ JAVA_HOME=/usr/lib/jvm/java-1.8.0/ mvn clean
[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------------------< test:test >------------------------------
[INFO] Building test 1
[INFO] --------------------------------[ jar ]---------------------------------
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.623 s
[INFO] Finished at: 2020-12-21T19:39:08-05:00
[INFO] ------------------------------------------------------------------------
---------------------------------------------------
constituent[0]: file:/usr/share/maven/conf/logging/
constituent[1]: file:/usr/share/maven/lib/jansi-1.17.1.jar
constituent[2]: file:/usr/share/maven/lib/maven-resolver-impl-1.4.1.jar
constituent[3]: file:/usr/share/maven/lib/plexus-cipher-1.7.jar
constituent[4]: file:/usr/share/maven/lib/hawtjni-runtime-1.17.jar
constituent[5]: file:/usr/share/maven/lib/maven-compat-3.6.3.jar
constituent[6]: file:/usr/share/maven/lib/maven-embedder-3.6.3.jar
constituent[7]: file:/usr/share/maven/lib/cdi-api-1.1.jar
constituent[8]: file:/usr/share/maven/lib/commons-cli-1.4.jar
constituent[9]: file:/usr/share/maven/lib/commons-codec-1.11.jar
constituent[10]: file:/usr/share/maven/lib/slf4j-api-1.7.29.jar
constituent[11]: file:/usr/share/maven/lib/wagon-http-3.3.4.jar
constituent[12]: file:/usr/share/maven/lib/maven-resolver-spi-1.4.1.jar
constituent[13]: file:/usr/share/maven/lib/httpcomponents_httpcore.jar
constituent[14]: file:/usr/share/maven/lib/guice-4.2.1-no_aop.jar
constituent[15]: file:/usr/share/maven/lib/jansi-linux.jar
constituent[16]: file:/usr/share/maven/lib/jsr250-api-1.0.jar
constituent[17]: file:/usr/share/maven/lib/maven-plugin-api-3.6.3.jar
constituent[18]: file:/usr/share/maven/lib/maven-resolver-provider-3.6.3.jar
constituent[19]: file:/usr/share/maven/lib/wagon-provider-api-3.3.4.jar
constituent[20]: file:/usr/share/maven/lib/maven-core-3.6.3.jar
constituent[21]: file:/usr/share/maven/lib/plexus-sec-dispatcher-1.4.jar
constituent[22]: file:/usr/share/maven/lib/plexus-interpolation-1.25.jar
constituent[23]: file:/usr/share/maven/lib/httpclient-4.5.12.jar
constituent[24]: file:/usr/share/maven/lib/plexus-component-annotations-2.1.0.jar
constituent[25]: file:/usr/share/maven/lib/maven-slf4j-provider-3.6.3.jar
constituent[26]: file:/usr/share/maven/lib/org.eclipse.sisu.inject-0.3.4.jar
constituent[27]: file:/usr/share/maven/lib/maven-model-3.6.3.jar
constituent[28]: file:/usr/share/maven/lib/httpcomponents_httpclient.jar
constituent[29]: file:/usr/share/maven/lib/guava-27.1-jre.jar
constituent[30]: file:/usr/share/maven/lib/commons-lang3-3.8.1.jar
constituent[31]: file:/usr/share/maven/lib/maven-repository-metadata-3.6.3.jar
constituent[32]: file:/usr/share/maven/lib/maven-resolver-transport-wagon-1.4.1.jar
constituent[33]: file:/usr/share/maven/lib/javax.inject-1.jar
constituent[34]: file:/usr/share/maven/lib/maven-resolver-api-1.4.1.jar
constituent[35]: file:/usr/share/maven/lib/maven-wagon_http-shared.jar
constituent[36]: file:/usr/share/maven/lib/org.eclipse.sisu.plexus-0.3.4.jar
constituent[37]: file:/usr/share/maven/lib/maven-settings-3.6.3.jar
constituent[38]: file:/usr/share/maven/lib/maven-settings-builder-3.6.3.jar
constituent[39]: file:/usr/share/maven/lib/wagon-file-3.3.4.jar
constituent[40]: file:/usr/share/maven/lib/wagon-http-shared-3.4.1.jar
constituent[41]: file:/usr/share/maven/lib/jsoup-1.12.1.jar
constituent[42]: file:/usr/share/maven/lib/maven-artifact-3.6.3.jar
constituent[43]: file:/usr/share/maven/lib/commons-io-2.5.jar
constituent[44]: file:/usr/share/maven/lib/maven-resolver-util-1.4.1.jar
constituent[45]: file:/usr/share/maven/lib/jcl-over-slf4j-1.7.29.jar
constituent[46]: file:/usr/share/maven/lib/maven-model-builder-3.6.3.jar
constituent[47]: file:/usr/share/maven/lib/plexus-utils-3.2.1.jar
constituent[48]: file:/usr/share/maven/lib/jansi-native-1.8.jar
constituent[49]: file:/usr/share/maven/lib/maven-resolver-connector-basic-1.4.1.jar
constituent[50]: file:/usr/share/maven/lib/maven-builder-support-3.6.3.jar
constituent[51]: file:/usr/share/maven/lib/httpcore-4.4.13.jar
constituent[52]: file:/usr/share/maven/lib/maven-shared-utils-3.2.1.jar
---------------------------------------------------
Exception in thread "main" java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
	at org.apache.http.client.utils.URLEncodedUtils.urlDecode(URLEncodedUtils.java:682)
	at org.apache.http.client.utils.URLEncodedUtils.parsePathSegments(URLEncodedUtils.java:364)
	at org.apache.http.client.utils.URIBuilder.parsePath(URIBuilder.java:118)
	at org.apache.http.client.utils.URIBuilder.digestURI(URIBuilder.java:197)
	at org.apache.http.client.utils.URIBuilder.<init>(URIBuilder.java:91)
	at org.apache.http.client.utils.URIUtils.rewriteURI(URIUtils.java:206)
	at org.apache.http.client.utils.URIUtils.rewriteURIForRoute(URIUtils.java:319)
	at org.apache.http.impl.execchain.ProtocolExec.rewriteRequestURI(ProtocolExec.java:96)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:133)
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
	at org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.execute(AbstractHttpClientWagon.java:1005)
	at org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1162)
	at org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1140)
	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:457)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:644)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:262)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:499)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:401)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:207)
	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.DefaultRepositorySystem.readArtifactDescriptor(DefaultRepositorySystem.java:255)
	at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve(DefaultPluginDependenciesResolver.java:106)
	at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getPluginDescriptor(DefaultMavenPluginManager.java:182)
	at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getMojoDescriptor(DefaultMavenPluginManager.java:286)
	at org.apache.maven.plugin.DefaultBuildPluginManager.getMojoDescriptor(DefaultBuildPluginManager.java:244)
	at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.setupMojoExecution(DefaultLifecycleExecutionPlanCalculator.java:169)
	at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.setupMojoExecutions(DefaultLifecycleExecutionPlanCalculator.java:154)
	at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan(DefaultLifecycleExecutionPlanCalculator.java:130)
	at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan(DefaultLifecycleExecutionPlanCalculator.java:144)
	at org.apache.maven.lifecycle.internal.builder.BuilderCommon.resolveBuildPlan(BuilderCommon.java:97)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:111)
	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:957)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
	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:282)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

Comment 1 Fabio Valentini 2020-12-27 14:44:59 UTC
Thanks for reporting. This is a known issue, because some maven dependencies have been built with a bytecode target that is too new for Java 8.

*** This bug has been marked as a duplicate of bug 1885300 ***


Note You need to log in before you can comment on or make changes to this bug.