我正在開發一個項目,我想使用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缺乏功能,但新版本向後兼容。 –