Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maven: Invalid target release: 10

I'm trying to compile my maven project using Java 10 but I'm having trouble. In my IDE (IntelliJ IDEA) everything compiles and runs just fine under Java 10. I installed the latest maven version 3.5.4 and pointed my JAVA_HOME to the JDK 10:

$ mvn --version Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T20:33:14+02:00) Maven home: C:\Maven\bin\.. Java version: 10.0.2, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-10.0.2 Default locale: en_US, platform encoding: Cp1252 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" 

The maven command I use is:

mvn package -Dmaven.test.skip 

In my pom.xml I had the following for Java 8 which worked fine:

<properties>     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>     <maven.compiler.source>1.8</maven.compiler.source>     <maven.compiler.target>1.8</maven.compiler.target>     <libraries.directory>libraries</libraries.directory> </properties> 

For Java 10 I changed it to the following:

<maven.compiler.source>10</maven.compiler.source> <maven.compiler.target>10</maven.compiler.target> 

This does not work, just like using 1.10 as the version for the source and target compiler.

The full debug logging output (-X command line switch) is the following:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project My-Project: Fatal error compiling: invalid target release: 1.10 -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project My-Project: Fatal error compiling     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)     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:954)     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) Caused by: org.apache.maven.plugin.MojoExecutionException: Fatal error compiling     at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1086)     at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:168)     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)     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:954)     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) Caused by: org.codehaus.plexus.compiler.CompilerException: invalid target release: 1.10     at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:173)     at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174)     at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1075)     at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:168)     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)     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:954)     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) Caused by: java.lang.IllegalArgumentException: invalid target release: 1.10     at com.sun.tools.javac.main.OptionHelper$GrumpyHelper.error (OptionHelper.java:103)     at com.sun.tools.javac.main.Option$12.process (Option.java:216)     at com.sun.tools.javac.api.JavacTool.processOptions (JavacTool.java:217)     at com.sun.tools.javac.api.JavacTool.getTask (JavacTool.java:156)     at com.sun.tools.javac.api.JavacTool.getTask (JavacTool.java:107)     at com.sun.tools.javac.api.JavacTool.getTask (JavacTool.java:64)     at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:125)     at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174)     at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1075)     at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:168)     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)     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:954)     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) [ERROR] [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

Adding the maven-compiler-plugin like suggested in this answer also does not work:

Fatal error compiling: invalid flag: --release -> [Help 1] 

Any ideas on how to fix this problem?

like image 835
BullyWiiPlaza Avatar asked Jul 22 '18 19:07

BullyWiiPlaza


People also ask

How do I fix an invalid target release?

Invalid target release: 1.8 In order to solve this error either change your target to match with the Java version, your JAVA_HOME variable is referring to or install a new JDK and updated the JAVA_HOME variable.

Does Maven work with Java 17?

In case of Maven, we specify the compiler plugin to use Maven with Java 17. The next step is to basically upgrade the dependencies of our application.

What is org Apache Maven plugins?

org.apache.maven.plugins » maven-javadoc-pluginApache. The Apache Maven Javadoc Plugin is a plugin that uses the javadoc tool for generating javadocs for the specified project. Last Release on Aug 13, 2022.

What is Java Maven project?

Maven is written in Java and is used to build projects written in C#, Scala, Ruby, etc. Based on the Project Object Model (POM), this tool has made the lives of Java developers easier while developing reports, checks build and testing automation setups.


2 Answers

Same problem fixed for me by setting JAVA_HOME environment variable to point to the JDK with right version.

My source and destination java version in maven-compiler-plugin were 11, java -version was also on version 11, but my JAVA_HOME was pointing to JDK-1.8.

Check JAVA_HOME again by using a terminal instead of IDE:

Linux: echo $JAVA_HOME  Win: echo %JAVA_HOME% 

Then Build your project in the same terminal:

mvn clean package 
like image 114
msd.salehi Avatar answered Sep 23 '22 10:09

msd.salehi


This worked for me:

<build>     <plugins>         <plugin>             <groupId>org.apache.maven.plugins</groupId>             <artifactId>maven-compiler-plugin</artifactId>             <version>3.7.0</version>             <configuration>                 <release>10</release>             </configuration>         </plugin>     </plugins> </build> 

This answer says you need:

<dependencies>     <dependency>         <groupId>org.ow2.asm</groupId>         <artifactId>asm</artifactId>         <version>6.2</version> <!-- Use newer version of ASM -->     </dependency> </dependencies> 

inside the <plugin/> tag, but the newer mvn (3.5.4) must obviate that, since I didn't need it.

like image 26
David Conrad Avatar answered Sep 21 '22 10:09

David Conrad