我有一个带子模块的项目。
Proj
ProjA
ProjB
ProjC
ProjA依赖于ProjY,它依赖于ProjX。
ProjA-->ProjY-->ProjX
我在ProjA中指定了ProjY依赖项。 我应该单独在ProjA中包含ProjX依赖吗? (传递依赖?)
如果ProjB依赖于ProjX怎么办?我应该单独包括吗?或者我可以在Porj(主要)级别中包含它?
答案 0 :(得分:0)
我在ProjA中指定了ProjY依赖项。我应该单独在ProjA中包含ProjX依赖吗? (传递依赖?)
你不应该在ProjA中包含对ProjX的依赖,因为Maven会处理这个问题。如果没有,则某些配置是错误的。处理传递依赖是Mavens的主要功能之一,可以帮助您节省管理依赖项的麻烦(尽管有时很烦人,当您在项目中获得您不期望的依赖项时)。
如果ProjB依赖于ProjX怎么办?我应该单独包括吗?或者我可以 包括在Porj(主要)级别的那个?
是的,您应该单独在ProjB中包含依赖项。要确保在所有模块中获得相同版本的ProjX,可以在父pom.xml中的-element中定义它。然后,您可以在模块pom.xml中定义依赖项时省略该版本。