目录
解决方案一:修改pom.xml文件配置
解决方案二,修改apache-maven-3.2.2中的配置
Hello,你好呀,我是灰小猿!一个超会写bug的程序猿!
今天继续来做一名优秀的bug修复工!
遇到的问题是这样的,在使用maven工具来测试搭建程序运行时,本来搭建项目本身是没有问题的,该建的文件夹、源码什么的都建好了,但是在运行的时候就发生了这样的报错:
[ERROR] Failure executing javac, but could not parse the error [ERROR] 错误 不再支持源选项 5。请使用 6 或更高版本。 [ERROR] 错误 不再支持目标选项 1.5。请使用 1.6 或更高版本。
具体如下图所示这样:
大概意思就是:执行Java程序时出错了,但是无法解析错误类型,但是其实这一句不是最重要的,最重要的是它下面这一句提示,“错误 不再支持源选项 5。请使用 6 或更高版本。”和“ 错误 不再支持目标选项 1.5。请使用 1.6 或更高版本。”。其实看到这句话,经验丰富的老程序猿们大概都知道是什么错误了。
就是有一些地方使用的东西过时了,目前已经不再支持了。那到底是什么过期了呢?
原因:引发这个错误的主要原因是maven配置文件中默认的JDK已经不再使用了,所以导致了程序无法运行,
解决办法:将默认的JDK版本修改成我们电脑上目前有的JDK版本,不知道自己电脑JDK版本的小伙伴可以在cmd中输入“Java -version”查看;比如我的是10.0版本。
知道了你的JDK版本之后,对于解决有两种方法:
解决方案一:修改pom.xml文件配置
这种方法需要修改当前运行工程项目的pom.xml配置文件中的内容,在其中添加如下代码。作用是告诉当前工程使用哪个版本的JDK运行。如我的JDK版本是10.0.1,所以版本就填10,但是这种方法使用之后只能对当前这个项目有效,对于其他使用默认JDK的工程就不管用了!
代码语言:javascript复制<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>10</java.version>
<maven.compiler.source>10</maven.compiler.source>
<maven.compiler.target>10</maven.compiler.target>
</properties>
解决方案二,修改apache-maven-3.2.2中的配置
这种方法需要修改我们电脑上的apache-maven-3.2.2的配置,具体操作是:
代码语言:javascript复制1、找到apache-maven-3.2.2文件下的setting.xml文件,setting.xml一般存放在路径apache-maven-3.6.1confsettings.xml下 2、在setting.xml文件中添加jdk版本说明, 3、在settings.xml文件中找到如下标签并修改JDK版本为当前电脑上的版本
<profile>
<id>jdk-10.0.1</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>10</jdk>
</activation>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>10</maven.compiler.source>
<maven.compiler.target>10</maven.compiler.target>
</properties>
</profile>
补充:
有时候按照上述步骤修改了JDK版本之后还是报如下错误:
[ERROR] Failure executing javac, but could not parse the error:
[ERROR] javac: 无效的目标发行版: 10.0.1
[ERROR] 用法: javac <选项> <源文件>
[ERROR] 使用 --help 可列出可能的选项
说明是你的版本号没写对,如我的是10.0.1版本,那么配置文件中就写10,不要写10.0.1。
之后再使用maven运行命令mvn conpile,得到如下提示:
BUILD SUCCESS
说明运行成功!没有问题!
好了,关于maven运行报错的解决就分享到这里,小伙伴们还有新的建议和解决方案的话欢迎留言提出!
我是灰小猿,我们下期见!