如何在Apache Ant中升级Jakarta Mail至1.6.7版本?
升级ant-javamail依赖的Jakarta Mail至1.6.7的方法
由于org.apache.ant:ant-javamail:1.10.12默认引入的Jakarta Mail版本为1.6.4,要升级到1.6.7,核心思路是显式声明目标版本的Jakarta Mail依赖,覆盖传递依赖,以下是不同构建工具的具体操作:
Maven 项目
方法1:直接显式声明依赖
在项目的pom.xml中,保留ant-javamail依赖的同时,添加Jakarta Mail 1.6.7的依赖声明:
<dependencies> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant-javamail</artifactId> <version>1.10.12</version> </dependency> <!-- 显式声明Jakarta Mail 1.6.7,覆盖传递依赖 --> <dependency> <groupId>com.sun.mail</groupId> <artifactId>jakarta.mail</artifactId> <version>1.6.7</version> </dependency> </dependencies>
方法2:通过dependencyManagement锁定版本
如果需要在多模块项目中统一管控版本,可以在dependencyManagement中锁定Jakarta Mail的版本:
<dependencyManagement> <dependencies> <dependency> <groupId>com.sun.mail</groupId> <artifactId>jakarta.mail</artifactId> <version>1.6.7</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant-javamail</artifactId> <version>1.10.12</version> </dependency> </dependencies>
Gradle 项目
在build.gradle中,显式声明目标版本的依赖,或者使用strictly强制确保版本生效:
dependencies { implementation 'org.apache.ant:ant-javamail:1.10.12' // 直接声明版本 implementation 'com.sun.mail:jakarta.mail:1.6.7' // 或者用strictly强制锁定版本,避免依赖冲突 implementation('com.sun.mail:jakarta.mail') { version { strictly '1.6.7' } } }
验证升级结果
执行以下命令确认依赖版本是否已更新:
- Maven:
mvn dependency:tree,在输出中搜索jakarta.mail,确认版本为1.6.7 - Gradle:
gradle dependencies,检查对应依赖项的版本信息
内容的提问来源于stack exchange,提问作者user10931326
相关产品推荐
相关产品推荐

