Solr 3.4.0, DataImportHandler, Tika 0.8, SLF4j NoSuchMethodError

This applies if you have built your own, custom package of solr using Maven.

In some instances, you will get an exception when running a DataImportHandler job using the TikaProcessor to handle binary file content. The exception will be NoSuchMethodError from SLF4J. This is caused by a dependancy in Tika 0.8, edu.ucar.netcdf, that bundles an older, non-compatible version of SLF4J (1.5 instead of 1.6). Add the following to your POM to circumnavigate this incompatibility:

	    <dependency>
	        <groupId>org.apache.tika</groupId>
	        <artifactId>tika-parsers</artifactId>
	        <version>0.8</version>
	        <exclusions>
	            <exclusion>
	                <groupId>edu.ucar</groupId>
	                <artifactId>netcdf</artifactId>
	            </exclusion>
	        </exclusions>
	    </dependency>
	    <dependency>
	        <groupId>edu.ucar</groupId>
	        <artifactId>netcdf</artifactId>
	        <version>4.2-min</version>
	    </dependency>

This will include the 4.2-min version of netcdf instead of the regular package. The 4.2-min does not bundle a bunch of third-party libraries, lowering the risk of conflicts.

Advertisements