我想使用第三方jar,我们称之为Third.jar。此Third.jar文件位于目录A /中。在A / lib /中有更多的罐子(让我们来自X方和Y方)。当我使用maven-install-plugin时,我只在本地Maven存储库中提供Third.jar,但是当我尝试运行它时它会失败,因为它找不到那些聚会X中包含的类,以及聚会Y jar
由于我不应该关心Third.jar的内部依赖性,如何用Apache Maven 3.3.3解决这个问题?
答案 0 :(得分:1)
如果您只能在maven repository
中找到它,则无需关心jar的内部依赖关系,因为maven会为您解决此问题。但是如果您使用maven-install-plugin
将第三方jar添加到本地存储库,那么您是唯一应该关注添加的jar的内部依赖关系的人。这意味着您需要使用maven-install-plugin
并在本地仓库中添加party X
和party Y
个罐子,并将其与pom.xml
一起添加到Third.jar
答案 1 :(得分:1)
除非你知道你不需要依赖,否则你必须假设你需要它们。
如果您需要节省空间,可以删除您知道自己没有使用的依赖项,但一般来说这很费时且容易出错,我会避免这样做。
答案 2 :(得分:0)
如果您确定不想要其他jar并且您的应用程序没有中断,那么您可以在pom.xml依赖项中指定排除项,如下所示。
<dependency> <groupId>YourGroup</groupId> <artifactId>Third</artifactId> <version>version</version> <exclusions> <exclusion> <groupId>XGroup</groupId> <artifactId>X</artifactId> </exclusion> <exclusion> <groupId>YGroup</groupId> <artifactId>Y</artifactId> </exclusion> </exclusions> </dependency><如果其他jar没有添加到本地存储库中,则删除第三个maven存储库的pom.xml中的其他依赖项。