在Maven编译中出现错误:“源选项5不再受支持。请使用6或更高版本”。
在Maven编译中出现错误:“源选项5不再受支持。请使用6或更高版本”。
我在$ mvn compile
命令中遇到了以下错误:\n[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project Sym360: Compilation failure: Compilation failure: \n[ERROR] Source option 5 is no longer supported. Use 6 or later.\n[ERROR] Target option 1.5 is no longer supported. Use 1.6 or later.\n[ERROR] -> [Help 1]\n
\n这是我的pom.xml
代码:\n
4.0.0 com.test.app Tset jar 1.0-SNAPSHOT Test http://maven.apache.org 6 1.6 org.apache.maven.plugins maven-surefire-plugin 2.22.1 org.seleniumhq.selenium selenium-java 3.14.0 org.testng testng 6.14.3 test
\n我尝试在pom.xml
代码中添加了属性,但仍然遇到相同的错误。
在使用Maven编译时出现了错误"Source option 5 is no longer supported. Use 6 or later"。这个问题的原因是项目中的JavaSE版本过低,需要更新版本为1.6或更高版本。解决方法是添加以下代码到pom.xml文件中的
<properties> <maven.compiler.source>1.6</maven.compiler.source> <maven.compiler.target>1.6</maven.compiler.target> </properties>
添加了上述
在我的一个IntelliJ IDEA项目中,除了上面所有的答案之外,另一种尝试也有效:
只需更改“项目结构”的“模块”部分中的“语言级别”[下面的图像]
这是一种无法解释的巫术,让你想转行
请说明这是哪个IDE。
这是Intellij Idea。
如果您打开“文件 - 项目结构...”菜单,将会看到此窗口。这种解决方案在长期运行中不起作用。我们在谈论Maven项目。此选项将在重新导入Maven项目后被覆盖,并且在更改Maven项目的任何内容后,您需要重新导入它。这将在几分钟,几小时或几天内发生,具体取决于您的项目有多新。设置此选项的正确方法是在.pom文件的
问题的原因是默认的Maven编译器插件版本较旧,它默认使用Java 1.5作为源版本,因此在使用较新的Java版本时会出现错误。解决方法是将Maven编译器插件升级到较新的版本,并将源版本和目标版本设置为所需的Java版本。
具体的解决方法如下:
1. 打开项目的pom.xml文件。
2. 在
1.8 1.8
如果目标使用的是Java 11,将1.8替换为11。
3. 保存并关闭pom.xml文件。
这样配置后,Maven编译器插件将使用指定的源版本和目标版本进行编译,解决了该错误。
关于为什么Maven默认使用不支持的源版本,有人追踪发现默认的Maven编译器插件版本较旧,并且默认为Java 1.5。然而,从Maven 3.0开始,如果包含了较新的编译器插件(例如org.apache.maven.plugins:maven-compiler-plugin:3.8.0),默认源版本将升级到Java 1.7,从而解决了该问题。因此,建议使用较新版本的Maven和编译器插件来避免此错误的发生。
对于为什么Maven默认使用较旧的编译器插件,有人认为这是一个问题,可能导致整个软件包管理器出现问题。建议使用较新版本的Maven,并将其要求的最低JDK版本设置为1.7+,这样也会默认使用较新的maven-compiler-plugin插件。
,要解决此错误,需要升级Maven编译器插件版本,并在pom.xml文件中设置正确的源版本和目标版本。建议使用较新的Maven版本和编译器插件来避免类似问题的发生。