无法解析类或包 ‘mysql‘ 更少... (Ctrl+F1) Inspection info: Checks Spring Boot

无法解析类或包 ‘mysql’ 更少… (Ctrl+F1) Inspection info: Checks Spring Boot application .properties configuration files. Highlights unresolved and deprecated configuration keys and invalid values.

问题

在配置类里爆红,但是项目也能启动
在这里插入图片描述
在这里插入图片描述
其实是我们的依赖包引用有问题,
如图:
在这里插入图片描述

  <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <scope>runtime</scope>
     <version>8.0.19</version>
 </dependency>

这里边的<scope>runtime</scope>节点有问题。

解决方法

这边要改成下边的<scope>compile</scope> 即可
在这里插入图片描述
!!!另一种修改方式这个博客进去看看

总结

那么对于maven几个scope区别都是啥呢
maven总共有6种scope,分别 compile,provided,runtime,test,system,import

  • compile
     这是默认scope,如果未指定,则使用此scope。 scope为compile依赖在项目的所有classpath中都可用。 此外,这些依赖将传播到依赖项目。
  • provided
     和compile很像,但表示您希望JDK或容器在运行时提供依赖性。 例如,在为j2ee构建Web应用程序时,您可以将Servlet API和相关Java EE API r的依赖scope设置为provided,因为Web容器(如tomcat,jetty等)提供了这些类。 此scope仅在编译时和测试classpath中可用,并且不会传递。
  • runtime
     此scope表示编译时不需要使用此依赖项,但是在执行时使用。 它在运行时的classpath和测试时classpath中,但不在编译classpath。简单一句话就是编译时不使用这个依赖,但运行和运行测试时会使用。
  • test
     test表示构建、运行应用程序不需要此依赖,仅可用于测试代码的编译和执行阶段。 此scope不具有传递性。
  • system
     和provided的类似,只是您必须提供明确包含它的JAR。 此依赖在中央仓库中并不会存在。这个场景主要是别人丢给你一个jar包,你要使用其中的功能,可以把jar放到代码目录下,加个system依赖,指定下Jar路径。
  • import
     此scope仅在部分中的且type为pom的依赖项上使用。 它表示要把当前pom.xml中中的部分依赖使用import进来的pom文件中的依赖来替换。 虽然当前pom中的部分依赖被替换掉了,但这个并不影响当前pom中的对应依赖之前前的传递属性。这个有点绕,可以悟一下。举例:当前pom.xml中 里有依赖 slf4j-log4j,然后import了另一个依赖里也包含slf4j-log4j,那么就会使用import进来里的slf4j-log4j。

祝您万事顺心,没事点个赞呗,关注一下也行啊,有啥要求您评论哈

猜你喜欢

转载自blog.csdn.net/qq_43658218/article/details/124897253