三个maven项目A依赖于B,B依赖于C,如何在编译时使C对A不可见?

时间:2015-08-18 15:59:21

标签: java maven dependency-management

在Web应用程序中,我的项目A(前端)依赖于项目B(业务层)。

项目B依赖于项目C(存储库层)。

因此,位于项目C(Repo)中的类可以在项目A(前面)中实例化。但显然我不想要这个。

我尝试在项目的A pom.xml中声明排除,以在声明对项目B的依赖性时排除项目C - 但是当构建WAR时,项目的C jar将从最终WAR中排除。

如何在编译时从项目a中排除项目C,而不是在WAR构建时或运行时?

2 个答案:

答案 0 :(得分:2)

您可以使用排除,并在范围为runtime的A的pom中添加对C的显式依赖关系。这样,它不会在编译类路径中,而应该在war文件中。

答案 1 :(得分:0)

项目setTimeout(function () { bigRectangle.animate({width: 400}, 2500); mainFooter.animate({width: 400,y: 520}, 2500); leftSidebar.animate({width: 70,height: 400,fill: "#19B5FE"}, 2500); rightSidebar.animate({width: 70,height: 400,y: 110,x: 580,fill: "#19B5FE"}, 2500); mainContent.animate({x: 330,y: 110,width: 240}, 2500); }, 10000); 应注意项目A作为依赖项,但不包括项目B。然后,WAR的构建可以手动重新包含项目C

这是一个带有排除项的示例依赖项。

C