2016-05-17 69 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