Eclipse中Maven执行测试报无编译器、需JDK而非JRE错误如何解决
解决方案
第一步:验证当前命令行环境的Java配置
在你执行命令的cmd窗口中先后执行以下两条命令:
java -version javac -version
如果javac -version没有输出版本信息,说明当前系统环境没有正确配置JDK的路径,Maven只能找到JRE,无法调用编译器。
第二步:修正系统环境变量配置
- 打开系统环境变量编辑页,新建
JAVA_HOME变量,变量值填你本地的JDK根路径:C:\Program Files\AdoptOpenJDK\jdk-11.0.10.9-hotspot,注意不要写到bin目录,也不要保留路径末尾的多余空格。 - 编辑系统变量中的
Path,新增一条%JAVA_HOME%\bin,并将这条记录移动到Path列表的最顶部,避免系统优先匹配到其他预装的JRE路径。 - 配置完成后必须重启cmd窗口,重新执行
javac -version验证,正常输出版本号后再执行你的Maven测试命令即可。
临时应急方案
如果不想修改全局环境变量,可以在执行mvn命令前先在当前cmd窗口执行临时变量配置命令:
set JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-11.0.10.9-hotspot
再执行你的测试命令:
mvn test -Dtest=MKTWireComparisonTest#compareMKTWireIRS#compareMKTWireIRS
注意事项
Eclipse中配置的JDK和系统cmd的环境变量是相互独立的,Eclipse内运行正常不代表cmd环境配置正确,必须单独验证cmd窗口的javac命令可用性。如果是在IDE内置终端执行命令,配置完环境变量后需要重启IDE再操作。
内容的提问来源于stack exchange,提问作者Bruno Lorena
相关产品推荐
相关产品推荐

