第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Tomcat類路徑加載器javax.mail.Session與spring-boot

Tomcat類路徑加載器javax.mail.Session與spring-boot

SMILET 2023-03-23 14:59:23
嘗試在 Tomcat(不是嵌入式 Tomcat)上部署 Spring Boot 應(yīng)用程序。我已經(jīng)在 Tomcat 服務(wù)器配置上配置了一個(gè) Java 郵件會(huì)話,并且我正在嘗試在我的應(yīng)用程序中將其作為 JNDI 值進(jìn)行訪問。出于某種原因,我的應(yīng)用程序出錯(cuò)并顯示:Caused by: java.lang.IllegalArgumentException: The local resource link [support] that refers to global resource [mail/support] was expected to return an instance of [javax.mail.Session] but returned an instance of [javax.mail.Session]        at org.apache.naming.factory.ResourceLinkFactory.getObjectInstance(ResourceLinkFactory.java:163)        at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)        at org.apache.naming.NamingContext.lookup(NamingContext.java:840)我已經(jīng)包含javax.mail.jar在 Tomcat/lib文件夾中。我也spring-boot-starter-mail包括在我的pom.xml我試過javax.mail.jar從 Tomcat 的庫中刪除,但這會(huì)導(dǎo)致 Tomcat 啟動(dòng)時(shí)出錯(cuò),因?yàn)樗鼰o法創(chuàng)建郵件會(huì)話。我也試過刪除 spring-boot-starter-mail,但這會(huì)干擾我的一些需要 JavaMailSender 和其他郵件組件的代碼。我試過弄亂 JNDI 導(dǎo)入和類似的東西,但無濟(jì)于事。我還嘗試檢查 包含的郵件 jar 的版本spring-boot-starter-mail,并更新 Tomcat 中的 jar 以匹配。我還檢查了 Maven 中的傳遞依賴項(xiàng),看看是否引入了不同的郵件實(shí)現(xiàn),但什么也沒有。所以我有點(diǎn)沒主意了。這是我在我的 web.xml 中獲取 JNDI 值的地方:<resource-ref>        <description>The mail session configured in Tomcat</description>        <res-ref-name>mail/support</res-ref-name>        <res-type>javax.mail.Session</res-type>        <res-auth>Container</res-auth>    </resource-ref>這是我在 Tomcat 中配置的內(nèi)容server.xml:<GlobalNamingResources><Resource name="mail/support"              auth="Container"              type="javax.mail.Session"              mail.smtp.host="smtp.XXX.XXX"              mail.smtp.user="support"              mail.smtp.from="support@XXX.org" /></GlobalNamingResources>這是 context.xml 中的內(nèi)容:<Context><ResourceLink global="mail/support" name="mail/support" type="javax.mail.Session" /></Context>我希望能夠使用spring-boot-starter-mail和使用全局配置的 JNDI 郵件會(huì)話。我不知道這些是否只是不相容的愿望,但我不明白為什么會(huì)這樣。
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

好的,所以解決方案確實(shí)是@Bill Shannon 建議的。我必須將com.sun.mail依賴項(xiàng)包含在 Mavenprovided范圍內(nèi)。我的特殊問題是該項(xiàng)目已經(jīng)在使用spring-boot-starter-mail依賴項(xiàng),其中包括com.sun.mailjar。所以我不得不從我的 Maven 依賴中排除它。因此,與郵件內(nèi)容相關(guān)的完整 Maven 依賴項(xiàng)如下所示:


<dependency>

    <groupId>com.sun.mail</groupId>

    <artifactId>javax.mail</artifactId>

    <version>1.5.6</version>

    <scope>provided</scope>

</dependency>

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-mail</artifactId>

    <exclusions>

        <exclusion>

            <groupId>com.sun.mail</groupId>

            <artifactId>javax.mail</artifactId>

        </exclusion>

    </exclusions>

</dependency>

現(xiàn)在看起來有點(diǎn)明顯了。我認(rèn)為我的主要困惑來源是奇怪的 Tomcat 錯(cuò)誤消息。感謝任何看過此內(nèi)容的人,希望這可以解決其他人的問題!


查看完整回答
反對(duì) 回復(fù) 2023-03-23
  • 1 回答
  • 0 關(guān)注
  • 154 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)