IntelliJ IDEA 2024.1.4中JPA Console查询实体类找不到问题求助
解决IntelliJ IDEA中JPA查询实体时的
jakarta.json.bind.JsonbException类找不到问题 核心排查与解决步骤
1. 补全项目依赖配置
确认项目构建文件中包含Jakarta JSON Binding的API及实现依赖,这是解决类找不到问题的核心:
- Maven(
pom.xml)示例:
<dependency> <groupId>jakarta.json.bind</groupId> <artifactId>jakarta.json.bind-api</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>org.eclipse</groupId> <artifactId>yasson</artifactId> <version>2.0.4</version> <scope>runtime</scope> </dependency>
- Gradle(
build.gradle)示例:
implementation 'jakarta.json.bind:jakarta.json.bind-api:2.0.1' runtimeOnly 'org.eclipse:yasson:2.0.4'
添加后执行依赖同步,重新构建项目。
2. 检查JPA插件与提供者配置
- 打开
Settings/Preferences→Plugins,确认Jakarta EE: Persistence (JPA)插件已启用,且为最新版本,若版本过旧则更新后重启IDE。 - 进入
Settings/Preferences→Build, Execution, Deployment→Persistence,检查默认JPA提供者(如Hibernate)的版本,确保其与Jakarta EE 9+版本兼容,避免混用Java EE和Jakarta EE的依赖包。
3. 修正VM选项配置
之前修改idea64.exe.vmoptions可能存在配置错误:
- 备份原文件后恢复至默认状态,仅保留必要的内存参数(如
-Xmx2048m)。 - 若必须使用安全策略文件,确保参数格式正确,路径为绝对路径:
-Djava.security.policy=C:/your/policy/path/java.policy
同时检查策略文件内容,确认授予了java.io.FilePermission等必要权限。
4. 验证模块与项目的JDK配置
- 打开
File→Project Structure→Modules,将所有模块的Language level设置为17 - Sealed classes, pattern matching for switch,与OpenJDK 17匹配。 - 进入
Project Structure→Project,确认Project SDK和Project language level均选择OpenJDK 17。
5. 清理IDE缓存
执行File → Invalidate Caches...,选择Invalidate and Restart,清除缓存后重启IDE,避免缓存导致的依赖加载异常。
内容的提问来源于stack exchange,提问作者Papp Zoltán
相关产品推荐
相关产品推荐

