Maven编译常见问题收集

1、父pom里面有引入lombok依赖,为什么子pom有用到lombok,依然识别不到呢

这是因为父pom引入依赖的时候,把

依赖标签,最外层包
在了里面了。如果是这种情况,子类需要再引入相应的依赖标签,无需写版本号。

使用dependencyManagement可以统一管理项目中依赖包的版本号,当需要变更版本号时只需在父pom中修改即可;如果某个子项目需要指定一个特殊的版本号时,只需要在自己项目的pom.xml中显示声明一个版本号即可,此时子项目会使用自己声明的版本号,而不继承父项目的版本号

dependencies相对于dependencyManagement,所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目继承
dependencyManagement里只是声明依赖,并不会自动引入,因此子项目需要显示声明依赖。在子项目中声明了依赖项,且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,则会使用子项目中指定的版本。
 

2、本地maven仓库里面存在对应的版本jar包,为什么IDE里面依旧识别不到jar包,提示cannot resolve  xxx.jar。

这种情况是因为仓库jar目录下存在_remote.repositories文件

Maven编译常见问题收集_第1张图片

 解决方法:删除_remote.repositories文件,项目重新reload,就可以了compile成功了。

 

你可能感兴趣的:(maven,maven常见问题)