SpringBoot 编译正常,测试正常但无法启动 报org.springframework.beans.factory.annotation不存在

最近发现一个问题,SpringBoot 使用maven编译正常,测试正常但项目无法启动,报错类似如下:

Error:(5, 52) java: 程序包org.springframework.beans.factory.annotation不存在
Error:(6, 46) java: 程序包org.springframework.context.annotation不存在
Error:(7, 47) java: 程序包org.springframework.web.bind.annotation不存在
Error:(8, 47) java: 程序包org.springframework.web.bind.annotation不存在
Error:(10, 2) java: 找不到符号
  符号:RestController
Error:(14, 6) java: 找不到符号
  符号:Autowired
  位置:com.chang.springtask.controller.AsyncController
Error:(17, 6) java: 找不到符号
  符号:GetMapping
  位置:com.chang.springtask.controller.AsyncController
Error:(4, 49) java: 程序包org.springframework.scheduling.annotation不存在

找到右上角的编辑配置,发现主程序报:

intellij run configuration can't find spring boot class

并且项目中所有Bean都显示无法找到包,按照往上很多方法试了,无法成功,我最终解决方法是删除文件下所有.ieda文件。之后重新导入项目,重新添加项目框架,最终发现pom.xml位置不知道什么时候变位置了,重新写入即可。

可能是idea 2019的bug吧,之前的pom.xml位置都是正常的(之前程序有git记录)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这个问题通常发生在没有正确配置 Spring 所需的依赖项的情况下。在使用 `@Autowired` 注解时,Spring 需要正确配置依赖项才能注入所需的 bean。请确保您的项目中包含 Spring 的相关依赖项,并且您正确配置了 Spring 的配置文件(如 applicationContext.xml)。另外,您可以检查一下 `@Autowired` 注解是否应用于正确的类或方法上。如果问题仍然存在,请提供更多详细信息,以便我可以更好地帮助您解决问题。 ### 回答2: 无法访问org.springframework.beans.factory.annotation.Autowired可能是由以下几个原因造成的: 1. 依赖缺失:在项目中,没有添加正确的Spring框架依赖或者版本不匹配导致无法访问org.springframework.beans.factory.annotation.Autowired。这时需要检查项目的依赖配置,确保引入了相应的Spring框架依赖,并且版本与项目中使用的其他组件兼容。 2. 包名错误:可能是因为org.springframework.beans.factory.annotation.Autowired的包名错误导致无法访问。这时需要检查代码中import的包名是否正确,或者查看项目的构建配置是否正确配置了源代码的路径。 3. 编译错误:在编译代码时,如果没有正确引入org.springframework.beans.factory.annotation.Autowired,编译器就无法识别这个注解。此时需要检查代码中是否正确使用了@Autowired注解,并且确保编译环境中包含了Spring框架的相关类。 4. 版本冲突:如果项目中同时引入了不同版本的Spring框架,就可能导致无法访问org.springframework.beans.factory.annotation.Autowired。此时需要检查项目中的依赖配置,确保只引入了一个版本的Spring框架。 无法访问org.springframework.beans.factory.annotation.Autowired可能是因为项目的配置、依赖、包名等方面的问题。通过仔细检查相关配置,并确保代码中正确使用@Autowired注解,通常可以解决这个问题。如果问题还未解决,可以考虑查阅相关文档,咨询其他开发者或寻求社区的帮助。 ### 回答3: 无法访问org.springframework.beans.factory.annotation.Autowired可能是因为以下几种原因: 1. 缺少相关依赖:org.springframework.beans.factory.annotation.Autowired是Spring框架中的一个注解,用于实现依赖注入。如果没有在项目中引入Spring相关的依赖,就无法使用该注解。 2. 包名或类名写错:可能由于输入错误或者拼写错误,导致无法访问org.springframework.beans.factory.annotation.Autowired。请检查包名和类名的正确性,确保没有输入错误。 3. 版本冲突:如果项目中使用的Spring版本与org.springframework.beans.factory.annotation.Autowired的版本不兼容,可能会导致无法访问。请检查项目中使用的Spring版本,尝试使用与Autowired注解相匹配的版本。 4. 缺少相关配置:在Spring项目中使用Autowired注解时,需要在配置文件中添加相应的配置,以便让Spring能够正确地扫描和注入依赖。请确保在配置文件中正确地配置了Autowired相关的配置。 如果以上解决方法都没有解决问题,可能是其他复杂的原因导致无法访问org.springframework.beans.factory.annotation.Autowired。可以尝试通过查阅相关文档、搜索互联网或者咨询专业人士来解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码匀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值