首页 > 解决方案 > 如何使用 intelliJ 排除通过 Maven 安装的依赖项?

问题描述

我目前已经创建了一个 Maven 项目并找到了一个重复的依赖项,它影响了我的代码按预期执行。

我有两个依赖项:json-schema-validator javax.mail

经过进一步调查,似乎 json-schema-validator 依赖项也下载了一个 javax 邮件 jar 文件,有没有办法从下载 javax.mail 相关依赖项中排除 json-schema-validator?

到目前为止,我已经设置了以下似乎不起作用: 在此处输入图像描述

在此处输入图像描述

正如您从图像中看到的那样,我试图排除依赖项,但在我的 pom.xml 文件中使用排除项却没有成功。

另请注意,以下排除似乎不起作用:

  <exclusion>
           <groupId>javax.mail</groupId>
           <artifactId>mail</artifactId>
       </exclusion>

标签: javamavendependenciespom.xml

解决方案


这里有一些误解:

  • 您不需要排除“重复”依赖项。Maven 不会将它们两次添加到类路径中。不过,您需要注意版本号。如果同一工件的不同版本出现在您的依赖关系树中,Maven 会选择其中之一。如果您对选择不满意,可以使用 覆盖它<dependencyManagement>

  • 如果你写了一个排除项(你可能在这里不需要),你需要填写正确的 groupId 和 artifactId。如果您尝试使用 artifactId 排除工件javax.mail,难怪它mailapi仍然存在。


推荐阅读