maven grails 2不同的依赖与相同的包名

hrysbysz  于 2023-06-21  发布在  Maven
关注(0)|答案(1)|浏览(137)

来自不同库的一些依赖项具有相同的包名称javax.mail。并且它们内部的所有类都是相同的,具有不同的版本。
我希望能够选择在运行时加载哪个类。更具体地说,我有MimeMessage类的电子邮件和现在的程序是选择旧版本,而不是较新的版本,所以这个字段protected InternetHeaders headers;是不正确的填充和字符集的电子邮件和主题是没有添加,所以我无法发送邮件与html正文。jar文件名:

javax.mail-1.6.2.jar
geronimo-javamail_1.4_spec-1.2.jar
javax.mail-1.5.1.jar
javax.mail-api-1.5.1.jar

都有javax.mail.internet.MimeMessage

mwg9r5ms

mwg9r5ms1#

你也许想试试

  • 排除冲突的依赖项
dependencies {
    compile('org.example:conflict-library:1.0') {
        excludes 'geronimo-javamail_1.4_spec'
    }
}
  • 使用依赖关系管理
dependencyManagement {
    imports {
        mavenBom 'org.example:bom:1.0'
    }
    dependencies {
        dependency 'javax.mail:mail:1.6.2'
    }
}

强制javax.mail:mail上的所有依赖项使用1.6.2版
PS:记得在修改后清理和重建你的项目

相关问题