1、父pom里面有引入lombok依赖,为什么子pom有用到lombok,依然识别不到呢
这是因为父pom引入依赖的时候,把
<dependency></dependency>依赖标签,最外层包 在了<dependencyManagement></dependencyManagement>里面了。如果是这种情况,子类需要再引入相应的<dependency></dependency>依赖标签,无需写版本号。
使用dependencyManagement可以统一管理项目中依赖包的版本号,当需要变更版本号时只需在父pom中修改即可;如果某个子项目需要指定一个特殊的版本号时,只需要在自己项目的pom.xml中显示声明一个版本号即可,此时子项目会使用自己声明的版本号,而不继承父项目的版本号
dependencies相对于dependencyManagement,所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目继承
dependencyManagement里只是声明依赖,并不会自动引入,因此子项目需要显示声明依赖。在子项目中声明了依赖项,且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,则会使用子项目中指定的版本。
2、本地maven仓库里面存在对应的版本jar包,为什么IDE里面依旧识别不到jar包,提示cannot resolve xxx.jar。
这种情况是因为仓库jar目录下存在_remote.repositories文件
解决方法:删除_remote.repositories文件,项目重新reload,就可以了compile成功了。