Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Duplicate
-
0.8
-
None
-
None
Description
I use Maven to build my application. Part of this application is Tika. I previously used Tika 0.4 with no problem BUT when I updated my pom to use Tika 0.8 I got into serious logging problems. Tracked down the problem to the edu.ucar:netcdf:4.2 jar that tika 0.8 depends on.
The jar that was served by a Maven repository via the Tika dependency (1) was 10.9 MB BUT if I manually download "the same" jar from the manufacturer (2) via http://www.unidata.ucar.edu/software/netcdf-java/ it is 3.9 MB!
=> The jar downloaded via Maven (1) contains compiled code from external libraries!
I wouldn't dare to use the jar downloaded from the manufacturer (2) so I had to strip the maven jar (1) from the "org" end "net" packages. These packages seems to contain code that should be registered as dependencies instead:
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>net.jcip</groupId>
<artifactId>jcip-annotations</artifactId>
<version>1.0</version>
</dependency>
All this raises a fundamental question: WHICH jar is the correct one to use?
- Should the "Maven" jar be updated (stripped and depandencies added to the pom)
or - Should the "Manufacturer" jar be used (upload a new jar to the Maven repository that serves the edu.ucar:netcdf:4.2 jar)
Regardless - Tika 0.8 and later should use and depend on libraries that are properly built and doesn't cause any unexpected bahaviour.
/Magnus, SiteVision AB