2013-11-09 62 views
0

我使用XOAUTH2訪問Appengine上的Gmail Imap。連接到IMAP和搜索信息工作得很好,但是當我嘗試訪問的GmailMessage消息內容,我碰上Appengine上的Gmail:NoSuchMethodError:javax.mail.internet.ParameterList.combineSegments

java.lang.NoSuchMethodError: javax.mail.internet.ParameterList.combineSegments()V 
    at com.sun.mail.imap.protocol.BODYSTRUCTURE.parseParameters(BODYSTRUCTURE.java:404) 
    at com.sun.mail.imap.protocol.BODYSTRUCTURE.<init>(BODYSTRUCTURE.java:224) 

當AppEngine上使用電子郵件與MailService的,你不能添加javax.mail .jar添加到類路徑中,但是當通過套接字API訪問IMAP和SMTP時,需要在類路徑中包含javax.mail.jar和gimaps.jar。

我懷疑AppEngine SDK中的重新打包的javax.mail。*類與標準java.mail.jar之間存在衝突。 最後,爲了解決這個問題,我複製了ParameterList的源代碼並將其放入一個自創的'javax.mail.internet'包中,並且部分解決了這個問題。

我期待的意見上衝突javax.mail類

+0

在一天結束時,我將javax.mail的所有源添加到我的項目中,並使用我的應用程序編譯它們。由於類在課堂加載中優先於罐子。它的工作原理,但它不是一個乾淨或穩定的解決方案。 – koma

回答

0

谷歌支持:

工程是意識到了這一點,並正在評估的升級路徑,但已尚未確定。如果你現在通過上傳1.5 javamail的解決方法正在工作,那麼我會關閉這個案例。