Maven没有使用Java 11: 错误信息 "Fatal error compiling: invalid target release: 11"

13 浏览
0 Comments

Maven没有使用Java 11: 错误信息 "Fatal error compiling: invalid target release: 11"

我正在尝试使用Java 11编译我的项目。\n当我尝试以pom.xml中的Java 8作为Java版本运行应用程序时,它可以正常工作。但是当我尝试以Java 11运行时,它会抛出一个错误。\n

\n编译致命错误:目标发行版无效:11\n

\n我尝试了各种方式来修复它,比如更改环境变量,更新路径,并将%JAVA_HOME%指向Java 11。\n我计算机上的命令及其结果如下:\njava -version\necho %JAVA_HOME%\n\n输出:\njava版本 \"11.0.8\" 2020-07-14 LTS\nC:\\Program Files\\Java\\jdk-11.0.8\n\n我正在使用IntelliJ IDEA,并根据这个教程进行了必要的更改。\n我的pom.xml文件看起来像这样:\n



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.3.0.RELEASE
         
    
    com.example
    demo
    0.0.1-SNAPSHOT
    demo
    Spring Boot演示项目
    
        11
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                com.google.cloud.tools
                appengine-maven-plugin
                2.2.0
                
                    1
                    businessapplication-6963d
                
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.0
                
                    11
                    11
                
            
        
    

\n当我检查Maven版本时,它显示JDK 1.8作为Java版本:\nmvn --version\n\n输出:\nJava版本:1.8.0_241,供应商:Oracle Corporation,运行时:C:\\Program Files\\Java\\jdk1.8.0_241\\jre\n\n我如何将Maven指向Java 11?或者,如果那不是问题,如何解决这个问题?我不认为这个问题是invalid target release: 1.7的重复,因为我已经实施了该线程中提供的解决方案。\n构建项目后出现错误:\n[ERROR] 无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile(default-compile):编译致命错误:目标发行版无效:11 -> [帮助1]\n[ERROR]\n[ERROR] 要查看错误的完整堆栈跟踪,请使用-e选项重新运行Maven。\n[ERROR] 使用-X选项重新运行Maven以启用完整调试日志记录。\n[ERROR]\n[ERROR] 有关错误和可能解决方案的更多信息,请阅读以下文章:\n[ERROR] [帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException\n\n路径环境变量是:\nC:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\\cpp\\bin\\Intel64;\nC:\\Program Files (x86)\\Intel\\iCLS Client\\;\nC:\\Program Files\\Intel\\iCLS Client\\;\nC:\\WINDOWS\\system32;C:\\WINDOWS;\nC:\\WINDOWS\\System32\\Wbem;\nC:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;\nC:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;\nC:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;\nC:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT;\nC:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\WINDOWS\\System32\\OpenSSH\\;\nC:\\Delhi 2.0\\apache-maven-3.6.1\\bin;\nC:\\Program Files\\Java\\jdk-11.0.8\\bin;C:\\Program Files\\Intel\\WiFi\\bin\\;\nC:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;\nC:\\Program Files\\Git\\cmd;D:\\Flutter\\flutter\\flutter\\bin;\nC:\\Users\\Infinity97\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\bin;\nC:\\Users\\Infinity97\\AppData\\Local\\Microsoft\\WindowsApps;\nC:\\Program Files\\JetBrains\\IntelliJ IDEA Community Edition 2019.2\\bin;\nH:\\apache-maven-3.6.3\\bin;\nC:\\Program Files\\PostgreSQL\\12\\bin;\nC:\\Program Files\\PostgreSQL\\12\\lib;\nC:\\Program Files\\Docker Toolbox\n

0
0 Comments

如果其他人遇到相同的问题,但是是在Eclipse中(我知道OP是指IntelliJ IDEA),也请检查Maven使用的JRE版本:

运行配置...

选择您的Maven构建配置

点击JRE选项卡,并根据您的POM文件选择相应的JRE版本。

如果您在使用Maven构建项目时遇到错误消息"Fatal error compiling: invalid target release: 11",这可能是由于以下原因之一:

1. 您的Maven版本过旧,不支持Java 11。请升级您的Maven版本以支持Java 11。

2. 您的项目配置文件(POM文件)中指定了Java 11作为目标版本,但是您的系统中并没有安装Java 11。请确保您的系统中已正确安装了Java 11,并将其配置为Maven使用的JRE版本。

解决方法如下:

1. 首先,您需要检查您的Maven版本。您可以通过在命令行中运行"mvn -version"命令来查看您当前安装的Maven版本。如果版本较旧,建议您升级到最新版本。

2. 如果您已经安装了Java 11,但Maven仍然无法使用它作为目标版本,您可以尝试在Maven构建配置中手动指定JRE版本。根据您使用的IDE(IntelliJ IDEA或Eclipse),您可以按照以下步骤操作:

对于IntelliJ IDEA:

- 打开IntelliJ IDEA并导航到您的项目。

- 点击顶部菜单栏中的"Run"选项。

- 选择"Edit Configurations"。

- 在弹出窗口中,选择您的Maven构建配置。

- 在右侧窗格中,选择"JRE"选项卡。

- 选择您已安装的Java 11版本作为您的JRE版本。

- 单击"Apply"并关闭配置窗口。

- 重新运行Maven构建,看看问题是否解决。

对于Eclipse:

- 打开Eclipse并导航到您的项目。

- 单击顶部菜单栏中的"Run"选项。

- 选择"Run Configurations"。

- 在左侧窗格中,选择您的Maven构建配置。

- 在右侧窗格中,选择"JRE"选项卡。

- 选择您已安装的Java 11版本作为您的JRE版本。

- 单击"Apply"并关闭配置窗口。

- 重新运行Maven构建,看看问题是否解决。

通过按照上述步骤检查和配置Maven的JRE版本,您应该能够解决"Maven is not using Java 11: error message "Fatal error compiling: invalid target release: 11""的问题。请确保您的系统中已正确安装Java 11,并将其配置为Maven使用的JRE版本。

0
0 Comments

问题的出现原因是Maven无法使用Java 11,出现了"Fatal error compiling: invalid target release: 11"的错误提示。解决方法是在pom.xml文件中添加或者修改以下内容:


    org.apache.maven.plugins
    maven-compiler-plugin
    
        1.8
        1.8
    

这个解决方法实际上是回退到了Java 8,而不是使Java 11正常工作。如果在尝试运行Java 8项目时遇到了这个问题,这个解决方法是完美的。至于IDE无法找到这个插件的问题,可以尝试重新导入Maven项目或者更新IDE的Maven插件。

0
0 Comments

问题原因:Maven没有使用Java 11,出现了错误信息"Fatal error compiling: invalid target release: 11"。可能是因为在mvn.bat文件中设置了JAVA_HOME变量,而该变量指向了旧版本的Java(在这种情况下为Java 8)。

解决方法:在调用Maven之前,在mvn.bat文件的第一行使用"set JAVA_HOME=C:\path\to\jdk11"命令,将JAVA_HOME设置为指向Java 11的路径。

如果mvn.bat文件中使用了"set "JAVACMD=%JAVA_HOME%\bin\java.exe""命令,则需要检查并更新定义为%JAVA_HOME%的变量。

如果%JAVA_HOME%和java -version命令都使用了jdk12,那么我是否必须使用jdk11呢?如果您想在项目中使用jdk11,则是的。否则可以使用jdk12。

如果您安装了JDK12,它将编译JDK11代码。当您询问“我是否必须使用jdk11?”时,答案是否定的。只要使用JDK11或更高版本进行编译,就可以编译使用Java 11语法编写的代码。

0