编译Spring Boot模块,报错No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
网上教程大多都是在说明IDE工具的环境配置,本文主要是直接通过配置pom.xml文件来解决问题,通过系统命令行操作即可编译(前提是已经部署好jdk和maven环境)。该问题的解决是基于win8操作系统。如有错误和不足之处,欢迎指正。
有些模块如common,core等模块,打包是为了提供给其它模块依赖,这样直接在该模块pom.xml中做如下配置,路径C:\Program Files\Java\jdk1.8.0_171\bin\javac.exe指的是本地jdk对应的路径:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<fork>true</fork>
<executable>
C:\Program Files\Java\jdk1.8.0_171\bin\javac.exe
</executable>
</configuration>
</plugin>
</plugins>
</build>
此时在plugins里额外如果做了如下配置,会造成不能生成正确的jar包。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
有些模块是需要编译打包后在服务上部署的,这里pom.xml中做如下配置,路径C:\Program Files\Java\jdk1.8.0_171\bin\javac.exe指的是本地jdk对应的路径:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<fork>true</fork>
<executable>
C:\Program Files\Java\jdk1.8.0_171\bin\javac.exe
</executable>
</configuration>
</plugin>
</plugins>
</build>
此时在plugins里如果没有额外如下配置,会造成不能生成正确的jar包。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
综合以上,可以通过在pom.xml文件中做相对应的配置可以解决报错问题。