当前位置: 首页 > news >正文

【idea】解决springboot项目中遇到的问题

一、Maven报错Could not find artifact com.mysql:mysql-connector-j:pom:unknown in aliyunmaven解决及分析

报错

创建springboot项目,勾选数据库驱动,springboot版本为3,现在改成了2.7.2,Maven就发生了报错Could not find artifact com.mysql:mysql-connector-j:pom:unknown in aliyunmaven

解决方法

(1)解决方法就是给mysql-connector-j指定版本

        <dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.33</version><scope>runtime</scope></dependency>

注意:因为这里使用的是8.0+版本的mysql驱动,所以在application.yaml中配置driver时要加cj

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driver

使用6.0以上的mysql驱动,jdbc.driver为com.mysql.cj.jdbc.Driver。

如果springboot的版本为3时则不会报这个错误。因为springboot3.0+的版本有对mysql驱动进行版本控制,所以不需要手动指定版本。而低版本的springboot没有对mysql驱动进行版本控制,所以需要手动指定版本,否则报错。

(2)修改了之后,不要忘记了还要修改这两个依赖的版本,

        <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</version></dependency>

二、报错Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'feedbackController' method 

报错

原因

这个错误信息表明Spring Boot应用程序在启动时遇到了一些问题,特别是在创建requestMappingHandlerMapping bean时发生了错误。错误的具体原因是feedbackController类中的某个方法存在不明确的映射,导致Spring无法确定该如何处理请求映射。

解决方法

  1. 检查Controller中的映射注解: 确保Controller类中的每个请求映射(@RequestMapping@GetMapping@PostMapping等)都是唯一且明确的。避免多个方法使用相同的路径和HTTP方法组合。
  2. 确保没有重复的控制器映射: 检查项目中是否存在多个控制器类使用了相同的请求路径和方法。例如,如果有两个控制器类都映射到相同的路径,这将导致冲突。

  3. 检查父类或接口中的映射: 如果feedbackController继承了某个父类或实现了某个接口,检查这些父类或接口中是否存在重复的请求映射。

  4. 排查其他配置类: 检查是否有其他配置类或组件可能影响了请求映射。确保它们没有定义与feedbackController冲突的请求映射。

  5. 查看错误信息的完整堆栈: 错误信息中包含了具体的方法和类的详细信息,可以帮助更准确地定位问题。

  6. 使用Spring Boot的调试工具: 可以启用Spring Boot的调试模式,通过添加spring.main.web-application-type=noneapplication.properties文件中,获得更详细的调试信息。

通过这些步骤,可以更准确地定位和解决Spring Boot应用程序中的请求映射冲突问题。如果有具体的代码片段或更多的错误堆栈信息,可以进一步提供来帮助更具体地解决问题。

通过检查之后,确实我的controller里有两个路径映射重复了,修改之后就不报这个错了。

三、knife4j报错Failed to introspect Class [com.github.xiaoymin.knife4j.spring.configuration

报错

Failed to introspect Class [com.github.xiaoymin.knife4j.spring.configuration

解决方法

(1)确认依赖项:确保 knife4j 的依赖已经正确添加到项目的构建配置中。

        <!--swagger--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.4.0</version></dependency>

下面是我的整个pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.water</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>demo</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.33</version><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter-test</artifactId><version>3.0.3</version><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.11</version></dependency><!--添加热部署--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><!--swagger--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.4.0</version></dependency><!--gson数据--><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.9.1</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!--热部署配置--><configuration><!--fork:如果没有该项配置,整个devtools不会起作用--><fork>true</fork><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

相关文章:

  • 智能网站管理系统
  • C语言运算中的临时匿名变量
  • JY-156/1静态电压继电器 板前接线 约瑟JOSEF
  • 人工智能中实现自动化决策与精细优化的核心驱动力
  • MySQL:概念、逻辑与物理结构设计详解
  • 【npm】console工具(含胶囊,表格,gif图片)
  • Http协议:Http缓存
  • VST3音频插件技术介绍
  • RequestHeader 异常拦截机制
  • 软考阅卷将完成?!软考成绩有望六月底公布!
  • Nginx缓存之web缓存配置
  • springmvc拦截器 和 异常拦截器
  • ai代码问题记录
  • 光纤三维布里渊温度和应变分布matlab模拟与仿真
  • 心跳机制讲解及实例
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【Amaple教程】5. 插件
  • ComponentOne 2017 V2版本正式发布
  • django开发-定时任务的使用
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • export和import的用法总结
  • If…else
  • MySQL用户中的%到底包不包括localhost?
  • Rancher如何对接Ceph-RBD块存储
  • 动态规划入门(以爬楼梯为例)
  • 反思总结然后整装待发
  • 构建二叉树进行数值数组的去重及优化
  • 关于使用markdown的方法(引自CSDN教程)
  • 京东美团研发面经
  • 七牛云假注销小指南
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 原生 js 实现移动端 Touch 滑动反弹
  • (13):Silverlight 2 数据与通信之WebRequest
  • (16)Reactor的测试——响应式Spring的道法术器
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (强烈推荐)移动端音视频从零到上手(下)
  • (十三)Flink SQL
  • (学习总结)STM32CubeMX HAL库 学习笔记撰写心得
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • .bat批处理出现中文乱码的情况
  • .net core控制台应用程序初识
  • .net MySql
  • .NET 给NuGet包添加Readme
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .net专家(高海东的专栏)
  • .pop ----remove 删除
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • @DS 多数据源 + @Transactional(rollbackFor = Exception.class) 导致@DS 多数据源没法使用
  • @RequestMapping用法详解
  • @SpringBootApplication 包含的三个注解及其含义
  • @TableId注解详细介绍 mybaits 实体类主键注解