问题描述
用idea中终端执行maven的package命令,出现
No compiler is provided in this environment. Perhaps you are running on a JRE
错误
解决方法
一 在项目的pom.xml中加入:
<build>
<plugins>
<plugin>
<!--提供打包(将应用打包成可执行的jar包)-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<!-- 指定maven编译的jdk版本 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<!--你的jdk地址-->
<executable>D:/Java/jdk1.8.0_201/bin/javac</executable>
</configuration>
</plugin>
</plugins>
</build>
其中 D:/Java/jdk1.8.0_201为本机的jdk位置
或者 file -》 project structure的这个配置
![](https://img-blog.csdnimg.cn/20210818093850822.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0ODIzMjE4,size_16,color_FFFFFF,t_70)
可能原因分析
其中一种情况是maven找不到javac命令
一般maven是根据系统的java路径去找的
这种情况下可以先去排查是不是环境变量没有配置java
在命令行中输入where java显示:
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
这个是系统的java路径,不是自己安装的java8路径。再次输入where javac却显示找不到javac路径,到刚刚的C:\Program Files (x86)\Common Files\Oracle\Java\javapath中去查看,确实没有javac命令:
这就需要配置系统的环境变量了
这就是为什么一直报错的原因了