1. 报错详情
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project xxx-web: Fatal error compiling: CompilerException: NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project xxx-web: Fatal error compilingat org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)...
Caused by: org.apache.maven.plugin.MojoExecutionException: Fatal error compilingat org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1145)at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:187)...
Caused by: org.codehaus.plexus.compiler.CompilerExceptionat org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:173)at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174)at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1134)at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:187)....
Caused by: java.lang.NullPointerExceptionat com.sun.tools.javac.main.JavaCompiler.readSourceFile (JavaCompiler.java:841)at com.sun.tools.javac.processing.JavacProcessingEnvironment$ImplicitCompleter.complete (JavacProcessingEnvironment.java:1530)at com.sun.tools.javac.code.Symbol.complete (Symbol.java:642)at com.sun.tools.javac.code.Symbol$ClassSymbol.complete (Symbol.java:1326)...
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <args> -rf :xxx-web
2. 解决方案
我这的问题的原因是在Maven使用的Java和工程使用的Java版本问题,全局环境变量设置的Java版本为Java 11,而IDEA设置的是Java8,Maven配置是
<properties><java.version>1.8</java.version><maven.compiler.source>${java.version}</maven.compiler.source><maven.compiler.target>${java.version}</maven.compiler.target>
</properties><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>${maven.compiler.source}</source><target>${maven.compiler.target}</target></configuration></plugin></plugins>
</build>
修改项目的JDK版本,修改环境变量中的Java版本就能解决该问题。
3. 参考资料
- https://stackoverflow.com/questions/60650753/maven-compiler-plugin3-8-1compile-throwing-nullpointerexception