Android上的Spring OAuth2异常:在路径上找不到类“javax.xml.transform.stax.StAXSource”:DexPathList
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android上的Spring OAuth2异常:在路径上找不到类“javax.xml.transform.stax.StAXSource”:DexPathList相关的知识,希望对你有一定的参考价值。
我尝试使用spring的OAuth2依赖项为服务器创建一个android客户端。问题是当我调用这个构造函数时:
OAuth2RestTemplate oAuthRestTemplate = new Auth2RestTemplate(resourceDetails);
我得到这个例外:
Didn't find class "javax.xml.transform.stax.StAXSource" on path: DexPathList
我使用的是使用gradle的Android Studio,我包含OAuth2依赖项,如下所示:
dependencies {
implementation 'org.springframework.security.oauth:spring-security-oauth2:2.3.0.RC1'
...
}
在similar question中,接受的答案建议包括Spring rest-template依赖(compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'
),但是当我这样做时,我得到另一个错误,我也发布了here。
我认为不应该包含Spring rest-template依赖项,因为它可能已经被Spring OAuth依赖项导入了。这是真的吗?如果是,我怎么能解决另一个类(javax.xml.transform.stax.StAXSource
)无法找到的事实呢?我认为无法找到这个类的原因是因为我在android上使用自己的JDK实现,正如this answer所说。
如果有人能帮我解决这个问题,那将非常感激。
似乎需要其他依赖项(spring-android-rest-template依赖项),我不得不放置它们并且还排除重复的模块。我是这样做的:
compile('org.springframework.android:spring-android-rest-template:2.0.0.M3') {
exclude module: 'spring-android-core'
}
compile('org.springframework.security.oauth:spring-security-oauth2:2.3.0.RC1'){
exclude module: 'spring-web'
}
以上是关于Android上的Spring OAuth2异常:在路径上找不到类“javax.xml.transform.stax.StAXSource”:DexPathList的主要内容,如果未能解决你的问题,请参考以下文章
如何绕过 Grails 异常处理以使用 Spring Oauth2?
Spring Cloud:Security OAuth2 自定义异常响应
Spring Cloud:Security OAuth2 自定义异常响应