以下是我的项目结构
Project A
-Project C1
--Module A1
--Module B1
-Project C2
--Module A2
--Module B2
-Parent
在A1 POM中,我有jackson外部库的依赖。
在 C1 POM 中,我包含模块 A1 和 B1。 同样,C2 POM 将有自己的模块。
在Parent POM中,我包含了项目A1、B1、A2和B2的依赖关系。 (所有子项目作为依赖项)
在主项目 A POM 中,我有项目 c1、C2 和 Parent 模块。
现在的问题是,在项目级别,jackson 依赖项已从 A1 中删除,这会影响其他子项目。
我只想在项目 A1 中使用 jackson 库,它不应该对所有项目全局可用。
我在父POM中使用了排除,其中我将A1项目作为依赖项包含在内,但这没有用,我仍然可以在外部库中看到jackson jar。
有什么办法可以抑制这个吗?
谢谢。
重点是:如果你从依赖 A1 中排除 Jackson,并且 A1 需要 Jackson 来运行,那么你的程序可能会崩溃,因为 A1 找不到 Jackson 的类。
因此,您要么不在 A1 中使用 Jackson,要么接受使用 A1 的项目也将 Jackson 作为传递依赖这一事实。