Dependencies Maven依赖解析

Dependencies Maven依赖解析,dependencies,repository,maven,Dependencies,Repository,Maven,我正在与Maven一起创建两个项目 项目1和项目2 我依赖jar1.jar来创建Project1.jar。此外,我还依赖Project1.jar来创建Project2.war。我在Project2中为Project1.jar依赖项条目提供“提供”范围。此外,我还在Project1中为jar1.jar依赖项条目提供“编译”范围依赖项 我得到的是,jar1.jar也包含在Project2.war中。但是jar1.jar是由Project2.war加载的环境提供的。您可以做一些事情 您可以将jar1.

我正在与Maven一起创建两个项目

项目1和项目2

我依赖jar1.jar来创建Project1.jar。此外,我还依赖Project1.jar来创建Project2.war。我在Project2中为Project1.jar依赖项条目提供“提供”范围。此外,我还在Project1中为jar1.jar依赖项条目提供“编译”范围依赖项


我得到的是,jar1.jar也包含在Project2.war中。但是jar1.jar是由Project2.war加载的环境提供的。

您可以做一些事情

您可以将
jar1.jar
的范围设置为
项目1的
pom.xml
中提供的
范围。具有提供的
范围的依赖项包含在编译类路径中


在声明
Project1

的依赖项时,可以显式排除
jar1.jar
,是的,我认为这是正确的。基本上,Project1.jar不包含依赖项。基本上,它将基于pom.xml的jar映射到settings.xml中指定的存储库。所以,您的project2依赖于project1,project1依赖于jar1。因此,project2依赖于jar1。它的及物性:-)谢谢你的评论,穆罕默德·萨利赫。基本上,我的Project1.jar是一个类似于服务器的可执行应用程序,它的清单中有jar1.jar。那么我认为从Project1.jar服务器运行的Project2.war不需要包含jar1.jar,对吗?因为Project1.jar应用程序的类路径(清单条目)中有jar1.jar。