2016-05-17 74 views
-1

我第一次使用SendGrid。我已经看过关于这方面的其他问题,但没有人为我工作。SendGrid - 使用sendgrid-java.jar的NoClassDeffoundError

我正在使用Eclipse和亚马逊网络服务 - Lambda。 我正在使用的库是https://github.com/sendgrid/sendgrid-java

我的场景是,我使用Lambda函数将电子邮件发送给选择电子邮件通信的用户。

这里是我的代码:

     Email email = new Email(); 
         email.addTo(DEV_TO_EMAIL); 
         email.addToName("XXXXX"); 
         email.setFrom(DEV_FROM_EMAIL); 
         email.setSubject("XX"); 
         email.setText("sms_message"); 

         try { 
          sendgrid.send(email); 
         } catch (SendGridException e) { 
          e.printStackTrace(); 

          if(DEBUG) 
           logger.log("Exception while sending Email"); 
         } 

这里是例外:

Could not initialize class 

org.apache.http.impl.conn.ManagedHttpClientConnectionFactory: java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory at 

org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:493) at 

org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:149) at 

org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:138) at 

org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:114) at 

org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:726) at 

com.sendgrid.SendGrid.<init>(SendGrid.java:71) at 

xx.LambdaFunction.handleRequest(LambdaFunction.java:183) at 

xx.LambdaFunction.handleRequest(LambdaFunction.java:1) 

我试图按照这一建议在SO,Sendgrid Java Not working in Maven,但它导致了同样的错误,以及。

关于怎么做的任何建议?让我知道如果你需要任何东西..

+1

这个类是Apache的HttpComponents的一部分 - http://javasearch.buggybread.com/home.php?keyword=org.apache.http.impl.conn.ManagedHttpClientConnectionFactory。请确保您已将此依赖项包含在您的项目中。 –

回答

0

我尝试了大多数发布在SO上的解决方案,但无法让它工作。最后,我切换到使用SendGrid4j。在添加httpclient,httpcore,httpmime以及gson,jackson-core,libraries之后,这起作用。

链接sendgid4j - https://github.com/shunjikonishi/sendgrid4j