Apache Tika版本升级导致ClassCastException

时间:2020-09-04 06:02:24

标签: java scala apache-tika tika-server

我正遇到一个问题(带有Gradle的Java / Scala Web项目),因为我必须将apache tika版本从1.19.1升级到至少版本 1.22 (以前的版本具有安全性)漏洞)。但是当我尝试更改版本(甚至更改为较低版本)时,我会收到异常消息

org.osgi.framework.BundleException: The activator org.apache.tika.config.TikaActivator for bundle org.apache.tika.core is invalid
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:172)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: java.lang.ClassCastException: org.apache.tika.config.TikaActivator cannot be cast to org.osgi.framework.BundleActivator
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:167)
    ... 12 common frames omitted

我没有使用任何配置文件,我只升级了库(库中引发了异常,与我的代码相对应的stacktrace中没有任何东西)。 Tika依赖项的版本不同,主要关注的问题是org.osgi:org.osgi.core从4.0.0升级到6.0.0。我已在gradle中强制在项目中使用4.0.0版,但收到错误消息,未找到 org.osgi.framework.BundleActivator 类。根据文档,类之间的区别是附加注释 @ConsumerType 。我认为这是造成问题的原因。有什么办法解决这个问题?

0 个答案:

没有答案