Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在spring boot中发送电子邮件时出现NoSuchMethodException_Java_Spring_Spring Boot_Email_Jakarta Mail - Fatal编程技术网

Java 在spring boot中发送电子邮件时出现NoSuchMethodException

Java 在spring boot中发送电子邮件时出现NoSuchMethodException,java,spring,spring-boot,email,jakarta-mail,Java,Spring,Spring Boot,Email,Jakarta Mail,我有Gradle的spring boot应用程序 这是我的依赖项 dependencies { compile('javax.xml.bind:jaxb-api:'+ jaxbVersion) compile('org.apache.xmlgraphics:fop:' + apacheFOPVersion) compile('com.amazonaws:aws-java-sdk-s3:' + amazonS3Version) compile('org.apach

我有Gradle的spring boot应用程序

这是我的依赖项


dependencies {
    compile('javax.xml.bind:jaxb-api:'+ jaxbVersion)
    compile('org.apache.xmlgraphics:fop:' + apacheFOPVersion)
    compile('com.amazonaws:aws-java-sdk-s3:' + amazonS3Version)
    compile('org.apache.commons:commons-lang3:' + commonsLangVersion)
    compile('commons-fileupload:commons-fileupload:' + commonsFileUploadVersion)
    compile('org.springframework:spring-test:4.3.13.RELEASE')
    compile('net.authorize:anet-java-sdk:' + anetSDKVersion)
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('io.springfox:springfox-swagger2:' + swaggerUiVersion)
    compile('io.springfox:springfox-swagger-ui:' + swaggerUiVersion)
    compile('org.springframework.boot:spring-boot-starter-data-redis')
    compile('org.springframework.boot:spring-boot-starter-data-mongodb')
    compile('org.springframework.cloud:spring-cloud-security')
    compile('org.springframework.cloud:spring-cloud-starter-config')
    compile('org.springframework.cloud:spring-cloud-starter-security')
    compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
    compile('org.springframework.security.oauth:spring-security-oauth2')
    compile('org.springframework.cloud:spring-cloud-starter-openfeign')
    compile files('../models/build/libs/quickboard.models-' + modelsVersion + '.jar')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    compile("com.intuit.quickbooks-online:ipp-v3-java-data:3.0.0")
    compile(group: 'com.intuit.quickbooks-online', name: 'ipp-v3-java-devkit', version: '3.0.5', classifier: 'jar-with-dependencies')
            {
                exclude group: 'javax.mail', module: 'mailapi'
            }
    compile(group: 'com.intuit.quickbooks-online', name: 'oauth2-platform-api', version: '3.0.5', classifier: 'jar-with-dependencies')
            {
                exclude group: 'javax.mail', module: 'mailapi'
            }
    compile group: 'com.ecwid', name: 'maleorang', version: '3.0-0.9.6'
    compile group: 'com.sun.mail', name: 'javax.mail', version: '1.5.0'
    compileOnly 'org.projectlombok:lombok:1.18.4'

}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

configurations {
    all*.exclude group: 'javax.mail'
}
这是我发送电子邮件的代码

Message msg = new MimeMessage(session);
            msg.setFrom(new InternetAddress("myemail@domain.com"));
            msg.addRecipient(Message.RecipientType.TO,
                    new InternetAddress(toEmail, emailSubject));

            msg.setSubject(emailSubject);
//            msg.setText(message);
            msg.setContent(message, "text/html; charset=utf-8");
            Transport.send(msg);
Transport.send(msg)上行我得到了异常

java.lang.NoSuchMethodError: com.sun.mail.util.TraceInputStream.<init>(Ljava/io/InputStream;Lcom/sun/mail/util/MailLogger;)V
    at com.sun.mail.smtp.SMTPTransport.initStreams(SMTPTransport.java:2016) ~[javax.mail-1.5.0.jar:1.5.0]
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1936) ~[javax.mail-1.5.0.jar:1.5.0]
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654) ~[javax.mail-1.5.0.jar:1.5.0]
    at javax.mail.Service.connect(Service.java:313) ~[ipp-v3-java-devkit-3.0.5-jar-with-dependencies.jar:na]
    at javax.mail.Service.connect(Service.java:172) ~[ipp-v3-java-devkit-3.0.5-jar-with-dependencies.jar:na]
    at javax.mail.Service.connect(Service.java:121) ~[ipp-v3-java-devkit-3.0.5-jar-with-dependencies.jar:na]
    at javax.mail.Transport.send0(Transport.java:190) ~[ipp-v3-java-devkit-3.0.5-jar-with-dependencies.jar:na]
    at javax.mail.Transport.send(Transport.java:120) ~[ipp-v3-java-devkit-3.0.5-jar-with-dependencies.jar:na]
java.lang.NoSuchMethodError:com.sun.mail.util.TraceInputStream.(Ljava/io/InputStream;Lcom/sun/mail/util/MailLogger;)V
在com.sun.mail.SMTPTransport.initStreams(SMTPTransport.java:2016)~[javax.mail-1.5.0.jar:1.5.0]
在com.sun.mail.SMTPTransport.openServer(SMTPTransport.java:1936)~[javax.mail-1.5.0.jar:1.5.0]
在com.sun.mail.SMTPTransport.protocolConnect(SMTPTransport.java:654)~[javax.mail-1.5.0.jar:1.5.0]
在javax.mail.Service.connect(Service.java:313)~[ipp-v3-java-devkit-3.0.5-jar-with-dependencies.jar:na]
在javax.mail.Service.connect(Service.java:172)~[ipp-v3-java-devkit-3.0.5-jar-with-dependencies.jar:na]
在javax.mail.Service.connect(Service.java:121)~[ipp-v3-java-devkit-3.0.5-jar-with-dependencies.jar:na]
在javax.mail.Transport.send0(Transport.java:190)~[ipp-v3-java-devkit-3.0.5-jar-with-dependencies.jar:na]
在javax.mail.Transport.send(Transport.java:120)~[ipp-v3-java-devkit-3.0.5-jar-with-dependencies.jar:na]
我阅读了有关此异常的每个主题,大多数情况下,一些依赖项包括
mailapi
依赖项的旧版本,并在我的
build.gradle
中添加了此排除项。 我正在检查Intellij idea中的依赖关系树(编译时和运行时),并且只有
jaxa.mail中的依赖关系出现在
build.gradle中,没有任何其他依赖关系包含它,但我仍然得到这个异常


你还有其他建议吗?我应该尝试什么,原因可能是什么?

我刚刚将dependency
编译组:“com.sun.mail”,名称:“javax.mail”,版本:“1.5.0”
降级为
编译组:“com.sun.mail”,名称:“javax.mail”,版本:“1.4.5”
它现在可以工作了,而且看起来没有必要将
mailapi
从依赖项和

configurations {
    all*.exclude group: 'javax.mail'
} 

代码在有或没有这些排除项的情况下都可以正常工作

您能否运行
mvn dependency:tree
并与我们共享输出?这是gradle项目,因此如果可以运行
/gradlew应用程序:dependencies
,则此命令不起作用,您可以共享输出吗?删除邮件依赖项并将
spring boot starter mail
添加为依赖项。@cafertayyar它太长,无法对整个类路径进行注释,但请相信我,这是唯一的依赖项+---com.sun.mail:javax.mail:1.5.0 | \---javax.activation:activation:1.1其中出现了单词“mail”