NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/ssl/DefaultHostnameVerifier;
NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/ssl/DefaultHostnameVerifier;
我正在尝试在我制作的 Office365
Android
应用程序中使用 Exchange Web Services
Java API
,但一直出现此错误。
相关堆栈信息如下:
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/ssl/DefaultHostnameVerifier;
at microsoft.exchange.webservices.data.core.EwsSSLProtocolSocketFactory.<clinit>(EwsSSLProtocolSocketFactory.java:86)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.createConnectionSocketFactoryRegistry(ExchangeServiceBase.java:212)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.initializeHttpClient(ExchangeServiceBase.java:194)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.<init>(ExchangeServiceBase.java:170)
at microsoft.exchange.webservices.data.core.ExchangeService.<init>(ExchangeService.java:3779)
at com.microsoft.office365.connect.SendMailActivity.onBookMeetingButton1(SendMailActivity.java:140)
...
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.conn.ssl.DefaultHostnameVerifier" on path: DexPathList[[zip file "/data/app/com.microsoft.office365.connect-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at microsoft.exchange.webservices.data.core.EwsSSLProtocolSocketFactory.<clinit>(EwsSSLProtocolSocketFactory.java:86)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.createConnectionSocketFactoryRegistry(ExchangeServiceBase.java:212)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.initializeHttpClient(ExchangeServiceBase.java:194)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.<init>(ExchangeServiceBase.java:170)
at microsoft.exchange.webservices.data.core.ExchangeService.<init>(ExchangeService.java:3779)
at com.microsoft.office365.connect.SendMailActivity.onBookMeetingButton1(SendMailActivity.java:140)
...
Suppressed: java.lang.ClassNotFoundException: org.apache.http.conn.ssl.DefaultHostnameVerifier
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 20 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
我的 /libs/ 文件夹中有 httpclient 4.3.jar,这些是我的依赖项:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
// base OData library:
compile group: 'com.microsoft.services', name: 'odata-engine-core', version: '0.12.1'
compile group: 'com.microsoft.services', name: 'odata-engine-android-impl', version: '0.12.1', ext:'aar'
// choose the discovery and outlook services
compile group: 'com.microsoft.services', name: 'discovery-services', version: '0.12.1'
compile group: 'com.microsoft.services', name: 'outlook-services', version: '0.12.1'
// Azure Active Directory Library
compile group: 'com.microsoft.aad', name: 'adal', version: '1.1.1'
//compile 'org.apache.httpcomponents:httpclient:4.4'
//compile 'org.apache.httpcomponents:httpcore:4.3.3'
//compile 'commons-logging:commons-logging:1.2'
//compile 'joda-time:joda-time:2.7'
}
有没有人能发现问题或者我该如何解决?
谢谢
我尝试添加以下依赖项。现在它对我来说工作正常
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.4.1</version>
</dependency>
已通过升级 pom.xml
下的所有 org.apache.httpcomponents
库修复了相同的 issue.I
我遇到了同样的问题,但修复了在 pom 中添加 httpclient-osgi
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-osgi</artifactId>
<version>4.5.1</version>
</dependency>
它工作正常..
我正在尝试在我制作的 Office365
Android
应用程序中使用 Exchange Web Services
Java API
,但一直出现此错误。
相关堆栈信息如下:
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/ssl/DefaultHostnameVerifier;
at microsoft.exchange.webservices.data.core.EwsSSLProtocolSocketFactory.<clinit>(EwsSSLProtocolSocketFactory.java:86)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.createConnectionSocketFactoryRegistry(ExchangeServiceBase.java:212)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.initializeHttpClient(ExchangeServiceBase.java:194)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.<init>(ExchangeServiceBase.java:170)
at microsoft.exchange.webservices.data.core.ExchangeService.<init>(ExchangeService.java:3779)
at com.microsoft.office365.connect.SendMailActivity.onBookMeetingButton1(SendMailActivity.java:140)
...
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.conn.ssl.DefaultHostnameVerifier" on path: DexPathList[[zip file "/data/app/com.microsoft.office365.connect-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at microsoft.exchange.webservices.data.core.EwsSSLProtocolSocketFactory.<clinit>(EwsSSLProtocolSocketFactory.java:86)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.createConnectionSocketFactoryRegistry(ExchangeServiceBase.java:212)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.initializeHttpClient(ExchangeServiceBase.java:194)
at microsoft.exchange.webservices.data.core.ExchangeServiceBase.<init>(ExchangeServiceBase.java:170)
at microsoft.exchange.webservices.data.core.ExchangeService.<init>(ExchangeService.java:3779)
at com.microsoft.office365.connect.SendMailActivity.onBookMeetingButton1(SendMailActivity.java:140)
...
Suppressed: java.lang.ClassNotFoundException: org.apache.http.conn.ssl.DefaultHostnameVerifier
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 20 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
我的 /libs/ 文件夹中有 httpclient 4.3.jar,这些是我的依赖项:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
// base OData library:
compile group: 'com.microsoft.services', name: 'odata-engine-core', version: '0.12.1'
compile group: 'com.microsoft.services', name: 'odata-engine-android-impl', version: '0.12.1', ext:'aar'
// choose the discovery and outlook services
compile group: 'com.microsoft.services', name: 'discovery-services', version: '0.12.1'
compile group: 'com.microsoft.services', name: 'outlook-services', version: '0.12.1'
// Azure Active Directory Library
compile group: 'com.microsoft.aad', name: 'adal', version: '1.1.1'
//compile 'org.apache.httpcomponents:httpclient:4.4'
//compile 'org.apache.httpcomponents:httpcore:4.3.3'
//compile 'commons-logging:commons-logging:1.2'
//compile 'joda-time:joda-time:2.7'
}
有没有人能发现问题或者我该如何解决? 谢谢
我尝试添加以下依赖项。现在它对我来说工作正常
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.4.1</version>
</dependency>
已通过升级 pom.xml
org.apache.httpcomponents
库修复了相同的 issue.I
我遇到了同样的问题,但修复了在 pom 中添加 httpclient-osgi
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-osgi</artifactId>
<version>4.5.1</version>
</dependency>
它工作正常..