java mail urlname_java – 为什么Tomcat找不到SMTPTransport(Session,URLName)?

我们有一个发送邮件的Web应用程序.由于某种原因,它的安装已经决定它找不到带有(Session,URLName)参数的SMTPTransport的构造函数.

堆栈跟踪的相关位:

javax.mail.NoSuchProviderException: Provider class does not have a constructor(Session, URLName): protocol=smtp; type=javax.mail.Provider$Type@1dedf78; class=com.sun.mail.smtp.SMTPTransport; vendor=Sun Microsystems, Inc

at javax.mail.Session.getService(Session.java:499)

at javax.mail.Session.getTransport(Session.java:387)

at javax.mail.Session.getTransport(Session.java:347)

at javax.mail.Session.getTransport(Session.java:376)

at javax.mail.Transport.send(Transport.java:67)

at javax.mail.Transport.send(Transport.java:48)

...

Caused by: java.lang.NoSuchMethodException: com.sun.mail.smtp.SMTPTransport.(javax.mail.Session, javax.mail.URLName)

at java.lang.Class.getConstructor0(Class.java:2706)

at java.lang.Class.getConstructor(Class.java:1657)

at javax.mail.Session.getService(Session.java:496)

... 8 more

我们已经检查过SMTPTransport确实存在于类路径中(这并不奇怪,因为我们没有得到ClassNotFoundException),并且它是类路径中该类的唯一副本.它在tomcat / lib中.我们的webapp不包含副本. $JAVA_HOME / jre / lib中没有重复项.

我甚至已经反过来反编译该类以验证它实际上确实有问题的构造函数.

我做了一些谷歌搜索,发现其他人有seen the same error,但没有解决问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值