请教一个eclipse中maven项目:父子依赖问题
背景:
一个maven的聚合项目,在父项目的pom里通过<modules>引入了几个子项目。
在eclipse里,一个java文件会同时出现在子项目和父项目里。
问题:
有一个java文件,在子项目中正常,但是在父项目里的java文件中,找不到代码中用到的jar,比如说fastjson,显示红色报错。
原因是,fastjson只定义在了子项目的pom中,没有定义在父项目的pom中,导致父项目的maven dependency中没有这个jar。
而我又不想把这个缺少的fastjson的申明定义在父项目的pom里,那么如何能让父项目不报错呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我觉得你对eclipse和maven的使用,或者工程结构有大问题。正常父项目是一个pom工程,不会有代码,打包也不会有jar更不会有代码。
引用来自“chentao106”的评论
代码里依赖了,pom就得要声明。不知道题主为什么不想在父项目中依赖(甚至不明白为什么父项目还会有代码而不是pom类型),如果只是单纯的不想打包或传递依赖,依赖scope为provided或者optional为true就好。
代码里依赖了,pom就得要声明。不知道题主为什么不想在父项目中依赖(甚至不明白为什么父项目还会有代码而不是pom类型),如果只是单纯的不想打包或传递依赖,依赖scope为provided或者optional为true就好。
谢谢关注,问题解决了,我总结一下。
这个问题实际上是eclipse的设置问题,项目的打包和运行都没问题。
之所以父项目会报错,是因为eclipse认为父项目里的java文件需要编译,而父项目的maven dependency下没有这个jar。
因此,只要把父项目的classpath下的子项目的java文件移除,就不再去检查jar包是否存在,也就不报错了