Our company forced me to change to newer Intellij Idea version 2023.1 but I encounter error whenever I try to build our project in Idea:
java: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException javax.xml.bind.JAXBException

I use:
java 8u201
apache maven 3.8.5
environmental variables %JAVA_HOME%, %MAVEN_HOME% and their /bin versions in Path are set

Intellij Idea important settings:
Project Settings -> Project: SDK: 8u201 (which is defined as its %JAVA_HOME% path in PlatformSettings->SDKs)
Settings -> Build, Execution, Deployment -> Build Tools -> Maven: Maven home path: %MAVEN_HOME%
Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Importing: VM options for importer: -Xmx768m, JDK: project JDK

Why I need it working:
I need to run JUnit tests in Intellij which initiates Intellij build automatically and it ends up with the error. So that's why I need the build to work.
I expect issue comes from some Intellij settings or somewhere around Intellij specifically. Also consider please the fact it worked in previous Idea 2022.1.4 without changing the project pom or other project related things.

What I tried:
I tried building project in terminal using mvn clean install and that works.
I tried all three of the magic buttons in the right maven tab in Intellij.
I tried using VM option -XX:+IgnoreUnrecognizedVMOptions from this stack overflow thread:
How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
I tried to remove all caches from %LOCALAPPDATA%\JetBrains
I tried Invalidate caches and restart Intellij (checking all relevant checkboxes)
I tried switching JDK from oracle to amazon version
I tried switching maven 3.8.5 to 3.9.6
I tried removing maven folder from disc C (there is a folder sources are imported to)

Intellij Idea build-log:(使用可移植的JK 8u211,但看起来与使用Correto 8或JK 8u401的日志(log)相同)

2024-05-02 16:36:12,327 [  29086]   INFO - #o.j.j.i.j.JavaBuilder - java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:168)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
    at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:239)
    at org.jetbrains.jps.incremental.java.JavaBuilder.lambda$compileJava$2(JavaBuilder.java:524)
    at org.jetbrains.jps.incremental.java.JavaBuilder.invokeJavac(JavaBuilder.java:587)
    at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:522)
    at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:366)
    at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:291)
    at org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:245)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1553)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1183)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1333)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1148)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:916)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:473)
    at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:196)
    at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:150)
    at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:389)
    at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:214)
    at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:211)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
    at org.hibernate.jpamodelgen.xml.JpaDescriptorParser.<init>(JpaDescriptorParser.java:77)
    at org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor.init(JPAMetaModelEntityProcessor.java:116)
    at org.jetbrains.jps.javac.APIWrappers$ProcessorWrapper.init(APIWrappers.java:190)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.jetbrains.jps.javac.APIWrappers$1.invoke(APIWrappers.java:362)
    at jdk.proxy2/jdk.proxy2.$Proxy26.init(Unknown Source)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init>(JavacProcessingEnvironment.java:701)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next(JavacProcessingEnvironment.java:828)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:924)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1267)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1382)
    at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1234)
    at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:916)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
    ... 23 more
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:587)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    ... 41 more
2024-05-02 16:36:12,335 [  29094]   INFO - #o.j.j.i.Builder - Dependency analysis found 0 affected files
2024-05-02 16:36:12,341 [  29100]   INFO - #o.j.j.i.j.JavaBuilder - javac 17.0.6 was used to compile [core-connector, aop-utils]
2024-05-02 16:36:12,411 [  29170]   INFO - #o.j.j.c.BuildSession - FilePageCache stats: pageHits=0, pageFastCacheHits=268022, regularPageLoads=355, pageLoadsAboveSizeThreshold=0, pageLoadUs=339434, pageDisposalUs=705, capacityInBytes=524288000, disposedBuffers=355 maxRegisteredFiles=61 maxCacheSizeInBytes=38567936totalSizeCachedBytes=0
2024-05-02 16:36:13,195 [      6]   INFO - #o.j.j.c.BuildMain - ==================================================
2024-05-02 16:36:13,230 [     41]   INFO - #o.j.j.c.BuildMain - Build process started. Classpath: C:/Program Files/JetBrains/IntelliJ IDEA 2023.1/plugins/java/lib/jps-launcher.jar
2024-05-02 16:36:13,483 [    294]   INFO - #o.j.j.c.BuildMain - Connection to IDE established in 236 ms

推荐答案

I figured out solution. There is option in Settings->Build, Execution, Deployment->Compiler->Java Compiler called Use compiler from module target JDK when possible. When I enabled the option build started behave normally.
Issue is solved for me.

Java相关问答推荐

'在使用apache poi生成Excel数据透视表时,行标签显示为第一列标题,并显示分类汇总

Saxon 9:如何从Java扩展函数中的net.sf.saxon.expr. XPathContent中获取声明的变量

使用ExecutorService时在ThreadFactory中触发自定义newThread函数

查找最大子数组的和

为什么在枚举中分支预测比函数调用快?

Exe4j创建的应用程序无法再固定在任务栏Windows 11上

无法了解Java线程所消耗的时间

Java流传输一个列表并创建单个对象

Java构造函数分支

在学习Spring时,通过构造函数参数0表达了不满意的依赖关系

我如何为我的Java抵押贷款代码执行加薪操作(&Q)

如何在盒子的顶部和底部创建两张不同图片(大小相同)的盒子?

带有可选部分的Java DateTimeForMatter

寻找Thread.sky()方法的清晰度

try 使用预准备语句占位符获取信息时出现Try-With-Resources错误

有没有办法知道在合并中执行了什么操作?

在Java Spring JPA中插入包含对其他实体的引用的列

当使用不同的参数类型调用时,为什么围绕Objects.equals的类型安全包装不会失败?

如何使用Java ZoneID的区域设置?

H2数据库仅支持%1个结果集?