idea报错:java程序包com.github.xiaoymin.knife4j.spring.annotations不存在问题解决

 更新时间:2023年06月09日 10:07:39   作者:胡秀大闹野猪林  
这篇文章主要介绍了idea报错:java程序包com.github.xiaoymin.knife4j.spring.annotations不存在问题解决,需要的朋友可以参考下

问题描述

在瑞吉外卖中添加swagger的相关配置,启动项目后报错:

image.png

image.png

分析与解决

java: 程序包com.github.xiaoymin.knife4j.spring.annotations不存在,首先思路是查看本地仓库是否有对应的jar包 或者 是否导入了相关依赖
排查过程如下:

image.png

根据上图,发现本地仓库已有对应的jar包,而且我已正确导入依赖,那么问题出在哪?
经过一番搜索,类似的问题给我提供了思路:

选中jar包所在依赖包,右键选择 Open library settings

image.png

在弹出的对话框中,复制依赖包的名字

image.png

打开项目的iml文件(reggie_take_out.iml),添加如下配置:

<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-boot-autoconfigure:3.0.2" level="project" />

将其余报错按如上三步进行处理,在reggie_take_out.iml中添加配置:

image.png

<orderEntry type="library" name="Maven: io.springfox:springfox-core:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:3.0.0" level="project" />

一顿操作后,出现新的问题:

image.png

还是采用上面的思路进行排查,此次点击蓝色链接并没有跳转到导包语句,而是直接定位到具体的代码,所以直接在左侧查找org.springframework.plugin.core依赖包,发现Plugin的类文件是存在的,只不过编译器找不到而已。

image.png

解决方案依然是在reggie_take_out.iml中添加相关配置:

<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE" level="project" />

重启项目,启动成功。

拓展与总结

为了以后能快速解决类似问题,有必要了解一下iml文件。chatgpt给出如下回答:

在 IntelliJ IDEA 中,后缀为 iml 的文件是指 Module File,即模块文件。每个 IDEA 项目都由一个或多个模块组成,每个模块都有一个相应的 iml 文件。iml 文件包含有关模块的信息,例如模块的名称、源代码和资源文件的目录位置、依赖项、输出路径等。一个项目的 iml 文件可以在项目文件夹下找到。
iml 文件的作用是将模块与项目相关联,使得 IDEA 能够正确地加载和处理模块的所有信息和依赖项。iml 文件还可以保存一些模块特定的设置,例如代码风格、编译选项、测试配置等。由于 iml 文件是与模块相关联的,因此每个模块都必须有一个相应的 iml 文件,否则该模块将无法在 IDEA 中正确加载和处理。

出现此类问题的原因是idea没有正确地加载依赖项。正常情况下,在pom.xml文件中导入依赖后,maven会自动下载依赖包到本地仓库,如果发现无法使用,可以在iml文件中添加相关的依赖项。

到此这篇关于idea报错:java程序包com.github.xiaoymin.knife4j.spring.annotations不存在的文章就介绍到这了,更多相关idea报错java程序包不存在内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Cloud Gateway集成Sentinel流控详情

    Spring Cloud Gateway集成Sentinel流控详情

    这篇文章主要介绍了Spring Cloud Gateway集成Sentinel流控详情,Sentinel支持对Spring Cloud Gateway、Zuul等主流的API Gateway进行限流,需要的朋友可以参考一下
    2022-09-09
  • SpringCloud通过Feign传递List类型参数方式

    SpringCloud通过Feign传递List类型参数方式

    这篇文章主要介绍了SpringCloud通过Feign传递List类型参数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java封装的实现访问限定符、包

    Java封装的实现访问限定符、包

    封装就是将数据和操作数据的方法进行有机结合,隐藏对象的属性(成员变量)和实现细节,仅对外公开接口来和对象进行交互,下面这篇文章主要给大家介绍了关于Java封装实现访问限定符、包的相关资料
    2022-08-08
  • Java8新增的重复注解功能示例

    Java8新增的重复注解功能示例

    这篇文章主要介绍了Java8新增的重复注解功能,结合实例形式分析了java8重复注解的功能、定义、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-10-10
  • spring boot + mybatis如何实现数据库的读写分离

    spring boot + mybatis如何实现数据库的读写分离

    这篇文章主要给大家介绍了关于spring boot + mybatis如何实现数据库的读写分离的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Java split 分隔空值无法得到的解决方式

    Java split 分隔空值无法得到的解决方式

    这篇文章主要介绍了Java split 分隔空值无法得到的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • springboot单独使用feign简化接口调用方式

    springboot单独使用feign简化接口调用方式

    这篇文章主要介绍了springboot单独使用feign简化接口调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java中接口和抽象类的区别与相同之处

    Java中接口和抽象类的区别与相同之处

    这篇文章主要介绍了Java中接口和抽象类的区别与相同之处,本文讲解了抽象类的概念、接口的概念、接口和抽象类的区别与联系等内容,需要的朋友可以参考下
    2015-06-06
  • springboot如何引入外部yml配置文件

    springboot如何引入外部yml配置文件

    这篇文章主要介绍了springboot如何引入外部yml配置文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 深入浅析Netty 在 Dubbo 中是如何应用的

    深入浅析Netty 在 Dubbo 中是如何应用的

    国内知名框架 Dubbo 底层使用的是 Netty 作为网络通信,那么内部到底是如何使用的呢?今天通过本文给大家详细讲解,对Netty 在 Dubbo中应用相关知识感兴趣的朋友跟随小编一起看看吧
    2020-05-05

最新评论