I've got a nasty error while implementing an Apache Tika search engine in an Eclipse RCP application.
I have built apache tika using maven(the standard maven build found at apache.org) and are using the "tika-standalone" jar in my eclipse RCP app.
The tika-standalone jar contains all the dependencies which tika depends on
As far as I can understand I can not override the use of the org.xml.sax found in the J2SE 6 library... I can not understand why the maven build of tika has included this library as it is already present in java lib... strange...
any help is highly appreciated
Code:
Exception in service
java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.tika.parser.AutoDetectParser.parse(Ljava/io/InputStream;Lorg/xml/sax/ContentHandler;Lorg/apache/tika/metadata/Metadata;)V" the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current class, services/search/logic/CreateTikaIndex, and the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for resolved class, org/apache/tika/parser/AutoDetectParser, have different Class objects for the type org/xml/sax/ContentHandler used in the signature
at services.search.logic.CreateTikaIndex.indexFileOrDirectory(CreateTikaIndex.java:88)
at services.search.logic.CreateTikaIndex.<init>(CreateTikaIndex.java:32)
at services.search.logic.SearchPacketHandler.handleSearchPacket(SearchPacketHandler.java:71)
at services.search.logic.SearchPacketHandler.incommingPacket(SearchPacketHandler.java:47)
at hscore.communication.PacketSwitch$1.run(PacketSwitch.java:135)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at hscore.communication.PacketSwitch.runExtensionFinder(PacketSwitch.java:139)
at hscore.communication.PacketSwitch.interpretXMLDoc(PacketSwitch.java:95)
at hscore.communication.PacketSwitch.<init>(PacketSwitch.java:51)
at hscore.communication.RCPconnect.processPacket(RCPconnect.java:357)
at org.jivesoftware.smack.PacketReader$ListenerWrapper.notifyListener(PacketReader.java:819)
at org.jivesoftware.smack.PacketReader$ListenerNotification.run(PacketReader.java:799)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)