java - 如何使用 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>
解决方案
这里有一些误解:
您不需要排除“重复”依赖项。Maven 不会将它们两次添加到类路径中。不过,您需要注意版本号。如果同一工件的不同版本出现在您的依赖关系树中,Maven 会选择其中之一。如果您对选择不满意,可以使用 覆盖它
<dependencyManagement>
。如果你写了一个排除项(你可能在这里不需要),你需要填写正确的 groupId 和 artifactId。如果您尝试使用 artifactId 排除工件
javax.mail
,难怪它mailapi
仍然存在。
推荐阅读
- python-3.x - Selenium-Request with bs4 to do a click event-->Parse--> 和 requests.get href 链接
- python - Python datetime - 对于列表中的每个值,从当前 datetime 中减去 10 天
- c++ - C++中强制类型推导的例子
- c# - 如何确定矩形何时重叠或相交?
- c# - 错误:无法将类型“字符串”隐式转换为“布尔”
- python - pyspark 对每一行与其他行进行计算并获得最大值
- c++ - 移动 ADL 朋友声明
- scala - Spark向数据框添加索引并附加其他没有索引的数据集
- macos - 低级文本输出
- java - 具有可为空组件的 Java 记录