idea使用maven 子模块无法引用父模块 程序包不存在
出错场景
子模块引用父模块编写的方法, 能够本地运行, 但是maven compile的时候, 就报错, 具体见图
- 项目结构, 其中
Test
文件引用了ParentDependencyTest
- 出错信息, 显示包不存在, 找不到符号
解决方法
- 取消勾选忽略子模块的pom文件, 如果忽略了, 子模块的pom文件就失效了
- 修改pom文件, 由于是聚合maven工程, 所以打包方式需要使用pom, 注意父子模块都需要修改
- 因为是引用父模块自己编写的方法, 所以需要添加对父模块的依赖 (如果是要使用父模块pom文件导入的jar包, 则不需要这一步)
总结
- 不要忽略子模块的pom文件
- 注意pom文件的类型是否正确
- 引用父模块pom导入的jar不需要引入对父模块的依赖, 引用父模块自己编写的方法需要引入依赖
最后, maven clean, compile就没有问题了
如果纰漏, 请多多指教斧正! 谢谢各位了!