STS中maven项目打包报错: No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 问题的解决方案

这个报错的意思是在这个环境中没有编译环境,即不存在javac.exe,
然后说一下JRE和JDK的区别:
JRE(Java Runtime Environment):
1、JRE 是 Java 运行时环境,用于在计算机上运行 Java 程序。
2、包含 Java 虚拟机(JVM)和 Java 核心类库,以及运行 Java 程序所需的其他支持文件。
3、JRE 通常用于普通用户的计算机上,用于执行 Java 应用程序,而不涉及开发工作。
JDK(Java Development Kit):
1、JDK 是 Java 开发工具包,用于开发 Java 应用程序和 Applet。
2、包含了 JRE,同时也包含了用于 Java 开发的编译器(javac)、调试器(jdb)、各种工具(如 javadoc 等)、示例代码和其他开发所需的文件。
3、JDK 通常用于开发人员的计算机上,用于编写、编译和调试 Java 代码。

分析原因:
在安装的jdk中JRE目录中,不存在javac.exe,而在JDK目录中存在javac.exe命令,这就有可能是STS中配置存在错误!

解决方法:
windows--->preferences---->java-----> Installed JREs
JRE home 选择的Indirectory为jre目录:C:\Program Files\Java\jre1.8.0_191 修改为 C:\Program Files\Java\jdk1.8.0_191
如图:

修改完后打包正常

image

posted @ 2024-03-28 12:25  小杨加油smile  阅读(19)  评论(0编辑  收藏  举报