解决Spring3.4版本中使用QueryDSL中出现MongoAnnotationProcessor使用问题

spring boot更新到3.4版本后,Spring官方也是提供了AnnotationProcessor工具,可以不用使用maven-apt这个老旧的不行的依赖了。

但是按照官方教程会出现两个问题

1. maven找不到MongoAnnotationProcessor

如果你按照Spring Boot上的教程直接配置完成后,mvn compile时会报这个问题:

找不到批注处理程序 ‘org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor’

要解决这个问题,你需要配置在 annotationProcessorPaths 中加入依赖

<annotationProcessorPaths><path><groupId>org.springframework.data</groupId><artifactId>spring-data-mongodb</artifactId></path>
</annotationProcessorPaths>

这样你的maven,就能正常找到你的 org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor

然而还是有问题,maven会爆出下面这个问题

java.lang.NoClassDefFoundError: com/querydsl/apt/AbstractQuerydslProcessor: com.querydsl.apt.AbstractQuerydslProcessor

所以,还需要在annotationProcessorPaths加入 querydsl-apt 依赖

<annotationProcessorPaths><path><groupId>org.springframework.data</groupId><artifactId>spring-data-mongodb</artifactId></path><path><groupId>com.querydsl</groupId><artifactId>querydsl-apt</artifactId></path>
</annotationProcessorPaths>

这样你的maven编译就没有问题了。

完整版的配置如下

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version><configuration><source>${java.version}</source><target>${java.version}</target><encoding>UTF-8</encoding><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></path><path><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId></path><path><groupId>org.springframework.data</groupId><artifactId>spring-data-mongodb</artifactId></path><path><groupId>com.querydsl</groupId><artifactId>querydsl-apt</artifactId></path></annotationProcessorPaths><annotationProcessors><annotationProcessor>org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor</annotationProcessor></annotationProcessors><generatedTestSourcesDirectory>target/generated-test-sources</generatedTestSourcesDirectory><generatedSourcesDirectory>target/generated-sources</generatedSourcesDirectory></configuration>
</plugin>

2. Idea找不到MongoAnnotationProcessor

如果你用的是idea的话,你可能会发现你能正常编译,但是无法运行,运行或调试会报下面的问题

java: java.lang.ClassNotFoundException: org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor

这里面需要在idea中进行配置
Annotation配置
按照上面的配置即可~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/65962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Helm 是什么

Helm 是什么&#xff1f; Helm 是 Kubernetes 的包管理工具&#xff0c;被称为 Kubernetes 的 “Yum” 或 “APT”。它用于简化 Kubernetes 应用的部署、管理和版本控制。通过 Helm&#xff0c;可以以一种声明式的方式定义和部署复杂的 Kubernetes 应用&#xff0c;同时便于升…

【Linux】:多线程(读写锁 自旋锁)

✨ 倘若南方知我意&#xff0c;莫将晚霞落黄昏 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;Linux—登神长阶 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#…

Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(2):配置主数据库

Oracle Dataguard&#xff08;主库为 Oracle 11g 单节点&#xff09;配置详解&#xff08;2&#xff09;&#xff1a;配置主数据库 目录 Oracle Dataguard&#xff08;主库为 Oracle 11g 单节点&#xff09;配置详解&#xff08;2&#xff09;&#xff1a;配置主数据库一、配置…

C 实现植物大战僵尸(二)

C 实现植物大战僵尸&#xff08;二&#xff09; 前文链接&#xff0c;C 实现植物大战僵尸&#xff08;一&#xff09; 五 制作启动菜单 启动菜单函数 void startUI() {IMAGE imageBg, imgMenu1, imgMenu2;loadimage(&imageBg, "res/menu.png");loadimage(&am…

SpiderFlow平台v0.5.0之数据库连接

一、寻找lib目录安装方式 在 SpiderFlow 平台中&#xff0c;连接数据库时需要指定数据库的 DriverClassName&#xff0c;并确保正确配置数据库驱动。通常&#xff0c;驱动文件&#xff08;JAR 文件&#xff09;需要放置在指定的文件夹中&#xff0c;以便 SpiderFlow 可以找到并…

【人工智能机器学习基础篇】——深入详解监督学习之模型评估:掌握评估指标(准确率、精确率、召回率、F1分数等)和交叉验证技术

深入详解监督学习之模型评估 在监督学习中&#xff0c;模型评估是衡量模型性能的关键步骤。有效的模型评估不仅能帮助我们理解模型在训练数据上的表现&#xff0c;更重要的是评估其在未见数据上的泛化能力。本文将深入探讨监督学习中的模型评估方法&#xff0c;重点介绍评估指…

单周期CPU电路设计

1.实验目的 本实验旨在让学生通过设计一个简单的单周期 CPU 电路&#xff0c;深入理解 RISC-V 指令集的子集功能实现&#xff0c;掌握数字电路设计与实现的基本流程&#xff0c;包括指令解析、部件组合、电路设计以及功能仿真等环节&#xff0c;同时培养verilog HDL编程能力和…

【AIGC】 ChatGPT实战教程:如何高效撰写学术论文引言

&#x1f4a5; 欢迎来到我的博客&#xff01;很高兴能在这里与您相遇&#xff01; 首页&#xff1a;GPT-千鑫 – 热爱AI、热爱Python的天选打工人&#xff0c;活到老学到老&#xff01;&#xff01;&#xff01;导航 - 人工智能系列&#xff1a;包含 OpenAI API Key教程, 50个…

C语言中的强弱符号

文章目录 一、基本定义二、链接过程中的行为三、应用场景四、强弱符号示例1五、稍有难度示例2 在C语言中&#xff0c;强弱符号是与链接过程相关的重要概念&#xff0c;C中不存在强弱符号&#xff0c;以下是对它们的详细讲解&#xff1a; 一、基本定义 强符号 强符号通常是指在…

Spring中的IOC是什么,优缺点有哪些?

目录 IOC的核心概念 IOC的优点 IOC的缺点 使用场景说明 总结 IOC&#xff08;控制反转&#xff09;是一种设计思想&#xff0c;用于实现低耦合、高内聚的软件架构。它通过将对象的创建和依赖管理交给外部容器来实现&#xff0c;从而减少对象之间的直接依赖关系。 IOC的核…

【网络协议】开放式最短路径优先协议OSPF详解(一)

OSPF 是为取代 RIP 而开发的一种无类别的链路状态路由协议&#xff0c;它通过使用区域划分以实现更好的可扩展性。 文章目录 链路状态路由协议OSPF 的工作原理OSPF 数据包类型Dijkstra算法、管理距离与度量值OSPF的管理距离OSPF的度量值 链路状态路由协议的优势拓扑结构路由器O…

鸿蒙HarmonyOS开发:拨打电话、短信服务、网络搜索、蜂窝数据、SIM卡管理、observer订阅管理

文章目录 一、call模块&#xff08;拨打电话&#xff09;1、使用makeCall拨打电话2、获取当前通话状态3、判断是否存在通话4、检查当前设备是否具备语音通话能力 二、sms模块&#xff08;短信服务&#xff09;1、创建短信2、发送短信 三、radio模块&#xff08;网络搜索&#x…

Docker学习相关笔记,持续更新

如何推送到Docker Hub仓库 在Docker Hub新建一个仓库&#xff0c;我的用户名是 leilifengxingmw&#xff0c;我建的仓库名是 hello_world。 在本地的仓库构建镜像&#xff0c;注意要加上用户名 docker build -t leilifengxingmw/hello_world:v1 .构建好以后&#xff0c;本地会…

2024年12月 Scratch 图形化(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch图形化等级考试(1~4级)全部真题・点这里 一、单选题(共25题,共50分) 第 1 题 点击下列哪个按钮,可以将红框处的程序放大?( ) A. B. C.

向 SwiftUI 视图注入 managedObjectContext 环境变量导致 Xcode 预览(Preview)崩溃的解决

问题现象 从 SwiftUI 诞生到现在,我们这些秃头码农们早已都习惯了在 Xcode 预览中调试 App 界面了。不过,对于某些场景下向 SwiftUI 视图传递 managedObjectContext 环境变量(environment)总是会导致 Xcode 预览崩溃,这是怎么回事呢? 如上图所示,甚至我们将一个常驻内存…

VMware安装配置

1、官网下载VMware16 &#xff08;1&#xff09;进入VMware官网https://www.vmware.com/cn.html&#xff0c;之后点击下载里的Workstation Pro&#xff1a; &#xff08;2&#xff09;之后选择你要下载的VMware的版本&#xff0c;找到合适的下载&#xff0c;我这里以Windows系…

Python中的闭包和装饰器

一、闭包的定义与实例 1.1 闭包的定义与介绍 在Python实际开发过程中&#xff0c;调用函数过程中&#xff0c;函数内定义的变量都销毁了。此时由于业务需求可能需要保存函数内的这个变量&#xff0c;调用这个变量进行一系列操作。为了解决这个问题&#xff0c;引入闭包这个概念…

机器学习之正则化惩罚和K折交叉验证调整逻辑回归模型

机器学习之正则化惩罚和K折交叉验证调整逻辑回归模型 目录 机器学习之正则化惩罚和K折交叉验证调整逻辑回归模型1 过拟合和欠拟合1.1 过拟合1.2 欠拟合 2 正则化惩罚2.1 概念2.2 函数2.3 正则化种类 3 K折交叉验证3.1 概念3.2 图片理解3.3 函数导入3.4 参数理解 4 训练模型K折交…

Qt 下位机串口模拟器

使用 vspd 创建虚拟配对串口&#xff0c;Qt 实现下位机串口模拟器&#xff0c;便于上位机开发及实时调试&#xff0c;适用字符串格式上下位机串口通信&#xff0c;数据包格式需增加自定义解析处理。 通过以下链接下载 vspd 安装包&#xff0c;进行 dll 破解。 链接: https://…

HarmonyNext 鸿蒙开发中,在H5 页面如何下载图片保存到媒体库。

作为一个资深的鸿蒙开发者,可以有偿解决你在开发过程中遇到的问题!!绿泡泡:781284440 1.首先安装 ohos-dsbridge 插件地址:OpenHarmony三方库中心仓 2. 在生命周期 aboutToApper 中注册全局方法 this.controller.addJavascriptObject(this, account); 3. 使用装饰器@Java…