IDEA报错如下:
Error:(19, 8) java: Internal error in the mapping processor:
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBElement at
org.mapstruct.ap.internal.model.source.builtin.JaxbElemToValue.<init>
(JaxbElemToValue.java:41) at
org.mapstruct.ap.internal.model.source.builtin.BuiltInMappingMethods.<init>
(BuiltInMappingMethods.java:49) at
org.mapstruct.ap.internal.processor.creation.MappingResolverImpl.<init>(MappingResolverImpl.java:99) at
org.mapstruct.ap.internal.processor.MapperCreationProcessor.process(MapperCreationProcessor.java:98) at
org.mapstruct.ap.internal.processor.MapperCreationProcessor.process(MapperCreationProcessor.java:76) at
org.mapstruct.ap.MappingProcessor.process(MappingProcessor.java:270) at
org.mapstruct.ap.MappingProcessor.processMapperTypeElement(MappingProcessor.java:250) at
org.mapstruct.ap.MappingProcessor.processMapperElements(MappingProcessor.java:216) at org.mapstruct.ap.MappingProcessor.process(MappingProcessor.java:155) at
jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:964) at
jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:881) at
jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2100(JavacProcessingEnvironment.java:110) at
jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1202) at
jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1311) at
jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1250) at
jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:928) at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:100) at
jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:142) at
jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:96) at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:90) at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:198) at
org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:450) at
org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:318) at
org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:243) at
org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:201) at
org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1317) at
org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:993) at
org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1065) at
org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:956) at
org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:788) at
org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:377) at
org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:184) at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138) at
org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:309) at
org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:137) at
org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:235) at
org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42) at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:844) Caused by:
java.lang.ClassNotFoundException: javax.xml.bind.JAXBElement at
java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466) at
java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ... 42 more
解决方案:使用JDK1.8编译项目;之所以出现这个错误,是因为我使用了JDK10编译项目;换成JDK8后问题消失,具体原因,日后来补