为什么我在尝试从Android访问Gmail时会遇到javax.mail.NoSuchProviderException?
我在尝试使用Gmail IMAP API时遇到此异常。这是我的一段代码为什么我在尝试从Android访问Gmail时会遇到javax.mail.NoSuchProviderException?,java,android,jakarta-mail,gmail-imap,Java,Android,Jakarta Mail,Gmail Imap,我在尝试使用Gmail IMAP API时遇到此异常。这是我的一段代码 session = Session.getDefaultInstance(props, null); // Exception occurs on the line below store = (GmailSSLStore) session.getStore("gimaps"); store.connect(userID,password); 参考资料: 在手动将gmail IMAP提供程序添加到会话之前,我没有通过
session = Session.getDefaultInstance(props, null);
// Exception occurs on the line below
store = (GmailSSLStore) session.getStore("gimaps");
store.connect(userID,password);
参考资料:
在手动将gmail IMAP提供程序添加到会话之前,我没有通过异常:
session = Session.getDefaultInstance(props, null);
// Adding Provider here corrected issue
session.addProvider(new Provider(Provider.Type.STORE, "gimaps", "com.sun.mail.gimap.GmailSSLStore","Oracle","1.5.4"));
store = (GmailSSLStore) session.getStore("gimaps");
store.connect(userID,password);
这些信息来自gimap.jar的“META-INF/javamail.providers”文件
问题的根本原因可能是会话的loadProviders()方法期间“javamail.providers”文件的可用性。请参阅。如果将gimap.jar文件添加到类路径中还不够,那么类加载器中的某些内容会导致JavaMail无法发现gimap.jar文件中包含的配置文件。