簡體   English   中英

部署到TomEE Plus的WAR文件未發送電子郵件:加載程序約束違反錯誤

[英]WAR file deployed to TomEE Plus not sending emails: loader constraint violation error

我將EJB應用程序(以.war文件形式提供)部署到TomEE Plus 7.1.0。

它運行正常,但是注意到沒有發送電子郵件。

我調查了位於logs/tomee-stderr.[date].log的日志文件,發現了這一點:

java.lang.LinkageError:違反加載程序約束:加載程序(java / net / URLClassLoader的實例)先前啟動了名稱為“ javax / mail / Session”的其他類型的加載

然后是非常(> 500k行)的堆棧跟蹤。

我發現了一個相關的問題java.lang.LinkageError:違反了加載程序約束:先前啟動了名稱為“ javax / mail / Session”的其他類型的加載 ,並且據說該解決方案包括將對javamail的依賴項標記為“已提供” ”,但是我的理解是應該在Maven項目文件中完成此操作,而我無權訪問該文件。

我可以隨意編輯ROOT目錄的內容(並且嘗試從WEB-INF/lib目錄中刪除兩個文件,即mail.jarmail-1.4.4.jar ,但無濟於事); 我相信我也可以使用7-zip編輯.war文件; 最后,我可以修改服務器中的任何配置。 但是我無法編輯應用程序的源代碼和/或重新編譯它。

(作為潛在的相關信息,我確實具有對源代碼的讀取權限,並且似乎沒有使用Maven- .project文件的存在表明它是Eclipse項目。)

名為geronimo-javamail_1.4_mail-1.9.0-alpha-2.jargeronimo-javamail_1.4_mail-1.9.0-alpha-2.jar的一部分,位於lib文件夾中。

考慮到我的限制(沒有行家,沒有編譯-現有的WAR文件必須工作),如何解決此錯誤?

[編輯1]

  • 我從WAR文件(帶有7-zip)中刪除了mail.jarmail-1.4.4.jar並重新部署,重置了日志文件,但錯誤仍然相同。

  • 我嘗試從TomEE的lib文件夾中刪除geronimo-javamail_1.4_mail-1.9.0-alpha-2.jar ,但是TomEE無法啟動。

似乎仍然有一個包含javax.mail.Session類的jar文件? 請將所有WEB-INF / lib提取到一個文件夾中,並在其中包含字符串“ javax / mail / Session”的情況下搜索所有jar文件的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM