使用Android Studio,我的应用使用了一个内部使用“ org.glassfish.jersey”的库来发出HTTP请求。当我的应用程序运行时,它反复发出堆栈跟踪,表明它无法解析“ org.osgi.framework.SynchronousBundleListener”
I /合子:拒绝先前失败的类的重新初始化 java.lang.Class: java.lang.NoClassDefFoundError:无法解决以下问题: Lorg / osgi / framework / SynchronousBundleListener
在org.glassfish.jersey.internal.ServiceFinder上org.glassfish.jersey.internal.ServiceFinder.find(java.lang.Class)(ServiceFinder.java:288)
无效org.glassfish.jersey.client.ClientConfig $ State。(org.glassfish.jersey.client.JerseyClient)(ClientConfig.java:152)
可悲的是,我什至不知道什么是OSGI。 (我已经找到了有关OSGI“捆绑包”和OSGI组件模型的页面,但是我不需要直接使用OSGI(无论它是什么)。)这似乎是一个需要且缺少的依赖项。>
我的项目使用“ build.gradle”文件声明依赖项,例如,似乎我对“ org.glassfish.jersey”的依赖项声明如下:
implementation 'org.glassfish.jersey.core:jersey-client:2.17', {
exclude group: 'org.glassfish.hk2.external'
}
但是我的“ build.gradle”文件没有提及“ osgi”作为依赖项。
如何使“ org.osgi.framework”类可用于需要它们的库?是否可以添加到我的“ build.gradle”文件中的implementation
行,或者需要下载的外部jar?