我正在开发一个项目,我想使用Apache Tika和Apache Jena。然而,当我尝试运行该项目,我得到以下异常:使用Java库具有不兼容的依赖关系
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String; Ljava/lang/Object;Ljava/lang/Throwable;)V
我的理解是,这是因为Apache提卡包括旧版本SLF4J的(预1.6.0)和Apache耶拿包括新版本(1.6.0或更高版本),并且SLF4J的两个版本之间存在重大变化。
我该如何解决这个问题,以便我可以同时使用Tika和Jena?
一些现有的文章谈到了使用Maven来解决这个问题,但是a)我不使用Maven,并且我不太熟悉它来完全理解解决方案,b)我正在开发网络没有连接到互联网。
第二点是无关紧要的 - 你可以有一个本地的Maven回购代理。无论如何,你控制什么最终在你的类路径?把最新版本的slf4j放到classpath中,你应该没问题。老版本的slf4j缺乏功能,但新版本向后兼容。 –