Dear Wiki user, You have subscribed to a wiki page or wiki category on "Tika Wiki" for change notification.
The "Troubleshooting Tika" page has been changed by NickBurch: https://wiki.apache.org/tika/Troubleshooting%20Tika?action=diff&rev1=7&rev2=8 } } }}} - + d == Identifying if any Parsers failed to be loaded == + When staring your JVM, if you pass in `-Dorg.apache.tika.service.error.warn=true` then you'll get warnings logged if any Parsers or Detectors couldn't be loaded. With the default logging configuration, you'll see things like this printed to your standard output of the JVM: + {{{ + WARNING: Unable to load org.apache.tika.parser.microsoft.OfficeParser + java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/DirectoryEntry + at java.lang.Class.getDeclaredConstructors0(Native Method) + at java.lang.Class.privateGetDeclaredConstructors(Class.java:2585) + at java.lang.Class.getConstructor0(Class.java:2885) + at java.lang.Class.newInstance(Class.java:350) + at org.apache.tika.config.ServiceLoader.loadStaticServiceProviders(ServiceLoader.java:315) + at org.apache.tika.parser.DefaultParser.getDefaultParsers(DefaultParser.java:52) + at org.apache.tika.parser.DefaultParser.<init>(DefaultParser.java:61) + at org.apache.tika.parser.DefaultParser.<init>(DefaultParser.java:66) + at org.apache.tika.config.TikaConfig.getDefaultParser(TikaConfig.java:76) + at org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:182) + at org.apache.tika.config.TikaConfig.getDefaultConfig(TikaConfig.java:291) + at org.apache.tika.Tika.<init>(Tika.java:115) + at org.apache.tika.cli.TikaCLI.version(TikaCLI.java:629) + at org.apache.tika.cli.TikaCLI.process(TikaCLI.java:365) + at org.apache.tika.cli.TikaCLI.main(TikaCLI.java:134) + Caused by: java.lang.ClassNotFoundException: org.apache.poi.poifs.filesystem.DirectoryEntry + at java.net.URLClassLoader$1.run(URLClassLoader.java:366) + at java.net.URLClassLoader$1.run(URLClassLoader.java:355) + at java.security.AccessController.doPrivileged(Native Method) + at java.net.URLClassLoader.findClass(URLClassLoader.java:354) + at java.lang.ClassLoader.loadClass(ClassLoader.java:425) + at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) + at java.lang.ClassLoader.loadClass(ClassLoader.java:358) + ... 15 more + }}} + In this case, the error is telling us that we're missing the Apache POI jars which are a required dependency of Tika Parsers, and of the org.apache.tika.parser.microsoft.OfficeParser parser. + - ''TODO describe how to use a ServiceLoader.LoadErrorHandler to get reports'' + ''TODO describe how to use a ServiceLoader.LoadErrorHandler.ERROR to trigger an exception'' == Identifying if any Detectors failed to be loaded == + When staring your JVM, if you pass in `-Dorg.apache.tika.service.error.warn=true` then you'll get warnings logged if any Parsers or Detectors couldn't be loaded. With the default logging configuration, you'll see things like this printed to your standard output of the JVM: + {{{ + WARNING: Unable to load org.apache.tika.parser.microsoft.POIFSContainerDetector + java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/DirectoryEntry + at java.lang.Class.getDeclaredConstructors0(Native Method) + at java.lang.Class.privateGetDeclaredConstructors(Class.java:2585) + at java.lang.Class.getConstructor0(Class.java:2885) + at java.lang.Class.newInstance(Class.java:350) + at org.apache.tika.config.ServiceLoader.loadStaticServiceProviders(ServiceLoader.java:315) + at org.apache.tika.detect.DefaultDetector.getDefaultDetectors(DefaultDetector.java:55) + at org.apache.tika.detect.DefaultDetector.<init>(DefaultDetector.java:66) + at org.apache.tika.config.TikaConfig.getDefaultDetector(TikaConfig.java:71) + at org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:183) + at org.apache.tika.config.TikaConfig.getDefaultConfig(TikaConfig.java:291) + at org.apache.tika.Tika.<init>(Tika.java:115) + at org.apache.tika.cli.TikaCLI.version(TikaCLI.java:629) + at org.apache.tika.cli.TikaCLI.process(TikaCLI.java:365) + at org.apache.tika.cli.TikaCLI.main(TikaCLI.java:134) + Caused by: java.lang.ClassNotFoundException: org.apache.poi.poifs.filesystem.DirectoryEntry + at java.net.URLClassLoader$1.run(URLClassLoader.java:366) + at java.net.URLClassLoader$1.run(URLClassLoader.java:355) + at java.security.AccessController.doPrivileged(Native Method) + at java.net.URLClassLoader.findClass(URLClassLoader.java:354) + at java.lang.ClassLoader.loadClass(ClassLoader.java:425) + at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) + at java.lang.ClassLoader.loadClass(ClassLoader.java:358) + ... 14 more + }}} + + In this case, the error is telling us that we're missing the Apache POI jars which are a required dependency of Tika Parsers, and of the org.apache.tika.parser.microsoft.POIFSContainerDetector detector. + - ''TODO describe how to use a ServiceLoader.LoadErrorHandler to get reports'' + ''TODO describe how to use a ServiceLoader.LoadErrorHandler.ERROR to trigger an exception''
