Nilay Chheda created TIKA-1925: ---------------------------------- Summary: Composite External Parser like Exiftool fails to run on Windows. Key: TIKA-1925 URL: https://issues.apache.org/jira/browse/TIKA-1925 Project: Tika Issue Type: Bug Components: core Affects Versions: 1.12 Environment: Windows 10, Intel i7 6550U 64-Bit processor Reporter: Nilay Chheda Fix For: 1.13
While trying to run EXIFTool Parser using Tika on Windows OS, we are getting following error output. (Ref: http://wiki.apache.org/tika/EXIFToolParser) java.io.IOException: Cannot run program "env": CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at org.apache.tika.parser.external.ExternalParser.parse(ExternalParser.java:182) at org.apache.tika.parser.external.ExternalParser.parse(ExternalParser.java:145) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at org.apache.tika.parser.ParserDecorator.parse(ParserDecorator.java:177) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120) at org.apache.tika.cli.TikaCLI$OutputType.process(TikaCLI.java:190) at org.apache.tika.cli.TikaCLI.process(TikaCLI.java:491) at org.apache.tika.cli.TikaCLI.main(TikaCLI.java:144) Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) ... 13 more Exception in thread "main" org.apache.tika.exception.TikaException: Unexpected RuntimeException from org.apache.tika.parser.external.ExternalParser@51efea79 at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:282) at org.apache.tika.parser.ParserDecorator.parse(ParserDecorator.java:177) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120) at org.apache.tika.cli.TikaCLI$OutputType.process(TikaCLI.java:190) at org.apache.tika.cli.TikaCLI.process(TikaCLI.java:491) at org.apache.tika.cli.TikaCLI.main(TikaCLI.java:144) Caused by: java.lang.NullPointerException at org.apache.tika.parser.external.ExternalParser.parse(ExternalParser.java:218) at org.apache.tika.parser.external.ExternalParser.parse(ExternalParser.java:145) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) ... 7 more After analyzing the stack trace and little experimentation, we found that "env" is unix/Mac OS X/Linux specific command and does not work on Windows. We were able to workaround this problem by adding some Windows specific code, recompile Tika and run again with similar setup. I am attaching the original file and modified file for review. If fix is acceptable by Tika specific standards, I can send the pull request on Github to contribute the patch. -- This message was sent by Atlassian JIRA (v6.3.4#6332)