Tika-server bundle includes wrong META-INF/services/org.apache.tika.parser.Parser, doesn't work -----------------------------------------------------------------------------------------------
Key: TIKA-893 URL: https://issues.apache.org/jira/browse/TIKA-893 Project: Tika Issue Type: Bug Components: packaging Affects Versions: 1.1, 1.2 Environment: Apache Maven 2.2.1 (rdebian-6) Java version: 1.6.0_26 Java home: /usr/lib/jvm/java-6-sun-1.6.0.26/jre Default locale: en_GB, platform encoding: UTF-8 OS name: "linux" version: "3.0.0-17-generic-pae" arch: "i386" Family: "unix" Reporter: Chris Wilson Both vorbis-java-tika-0.1.jar and tika-parsers-1.1-SNAPSHOT.jar include different copies of META-INF/services/org.apache.tika.parser.Parser, which the auto-detecting parser needs to configure itself. AFAIK, only one of these can be included in a standalone OSGi JAR, as they both have the same filename. On my system at least, the vorbis one gets included in the JAR, and not the tika-parsers one. This means that the Tika server is capable of auto-detecting Vorbis files, but not Microsoft Office files, which is completely broken from my POV. Unless the (undocumented) Bnd contains some way to merge these files, I suggest either: * excluding the one from vorbis-java-tika (easy but removes Vorbis auto-detection); * bundling vorbis-java-tika as an embedded JAR instead of inlined (might work?); * including a manually combined copy of both manifests in tika-server/src/main/resources (ugly, requires maintenance); * finding or writing a maven plugin to merge these files (outside my maven-fu). My simple workaround, which probably removes Vorbis support completely, is this patch: {code:xml|title=tika-server/pom.xml.patch} @@ -163,7 +168,7 @@ <instructions> <Export-Package>org.apache.tika.*</Export-Package> <Embed-Dependency> - !jersey-server;scope=compile;inline=META-INF/services/**|au/**|javax/**|org/**|com/**|Resources/**|font_metrics.properties|repackage/**|schema*/**, + !jersey-server;artifactId=!vorbis-java-tika;scope=compile;inline=META-INF/services/**|au/**|javax/**|org/**|com/**|Resources/**|font_metrics.properties|repackage/**|schema*/**, jersey-server;scope=compile;inline=com/** |META-INF/services/com.sun*|META-INF/services/javax.ws.rs.ext.RuntimeDelegate </Embed-Dependency> {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira