请教一个eclipse中maven项目:父子依赖问题

发布于 2022-01-05 07:26:49 字数 324 浏览 477 评论 4

背景:
一个maven的聚合项目,在父项目的pom里通过<modules>引入了几个子项目。
在eclipse里,一个java文件会同时出现在子项目和父项目里。

问题:
有一个java文件,在子项目中正常,但是在父项目里的java文件中,找不到代码中用到的jar,比如说fastjson,显示红色报错。
原因是,fastjson只定义在了子项目的pom中,没有定义在父项目的pom中,导致父项目的maven dependency中没有这个jar。

而我又不想把这个缺少的fastjson的申明定义在父项目的pom里,那么如何能让父项目不报错呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

绝情姑娘 2022-01-07 01:35:32

我觉得你对eclipse和maven的使用,或者工程结构有大问题。正常父项目是一个pom工程,不会有代码,打包也不会有jar更不会有代码。

初见你 2022-01-06 06:32:05

引用来自“chentao106”的评论

代码里依赖了,pom就得要声明。不知道题主为什么不想在父项目中依赖(甚至不明白为什么父项目还会有代码而不是pom类型),如果只是单纯的不想打包或传递依赖,依赖scope为provided或者optional为true就好。

毁梦 2022-01-06 05:56:02

代码里依赖了,pom就得要声明。不知道题主为什么不想在父项目中依赖(甚至不明白为什么父项目还会有代码而不是pom类型),如果只是单纯的不想打包或传递依赖,依赖scope为provided或者optional为true就好。

深巷少女 2022-01-05 09:13:21

谢谢关注,问题解决了,我总结一下。
这个问题实际上是eclipse的设置问题,项目的打包和运行都没问题。
之所以父项目会报错,是因为eclipse认为父项目里的java文件需要编译,而父项目的maven dependency下没有这个jar。
因此,只要把父项目的classpath下的子项目的java文件移除,就不再去检查jar包是否存在,也就不报错了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文