Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
1.15
-
None
-
None
Description
The new release 1.15 now fails in Apache Camel when we run our OSGi tests
test(org.apache.camel.itest.karaf.CamelTikaTest) Time elapsed: 7.212 sec <<< ERROR! org.ops4j.pax.exam.WrappedTestContainerException: [test(org.apache.camel.itest.karaf.CamelTikaTest): Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=camel-tika; type=karaf.feature; version="[2.20.0.SNAPSHOT,2.20.0.SNAPSHOT]"; filter:="(&(osgi.identity=camel-tika)(type=karaf.feature)(version>=2.20.0.SNAPSHOT)(version<=2.20.0.SNAPSHOT))" [caused by: Unable to resolve camel-tika/2.20.0.SNAPSHOT: missing requirement [camel-tika/2.20.0.SNAPSHOT] osgi.identity; osgi.identity=org.apache.camel.camel-tika; type=osgi.bundle; version="[2.20.0.SNAPSHOT,2.20.0.SNAPSHOT]"; resolution:=mandatory [caused by: Unable to resolve org.apache.camel.camel-tika/2.20.0.SNAPSHOT: missing requirement [org.apache.camel.camel-tika/2.20.0.SNAPSHOT] osgi.wiring.package; filter:="(osgi.wiring.package=org.apache.tika.parser.html)" [caused by: Unable to resolve org.apache.tika.bundle/1.15.0: missing requirement [org.apache.tika.bundle/1.15.0] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.slf4j.event)(version>=1.7.0)(!(version>=2.0.0)))"]]]] at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42) at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:389) at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:375) at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:347) at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:218) at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:285) at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1170) at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$0(FeaturesServiceImpl.java:1069) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748)
The problem is that tika-bundle has an import on package
org.slf4j.event;version="[1.7,2)"
And that package does not exists in 1.7.x. It looks like its a new thing that comes in slf4j 1.8 onwards but they have only alpha releases
http://search.maven.org/#search%7Cga%7C1%7Cfc%3A%22org.slf4j.event%22
It would be good to get this fixed. I wonder if that event package is really needed? And if not then please remove that import in the OSGi manifest file.
Otherwise you would need to depend on slf4j-api version 1.8 which is still not released in GA and not widely in use. I would suggest to be compatible with slfj4 1.7 so the Tika upgrade from eg 1.14 to 1.15 is a smooth upgrade for end users.