вот мой код, который используется для извлечения контента и метаданных, к сожалению, этот код возникает только тогда, когда я передаю документ '.docx' для анализа - пока я выясняю, как это исправить, можете ли вы помочь?с обработкой ошибок / исключений.Нет проблем при разборе pdf
, вот код, приведенные ниже попытки / улов не помогают.мне нужно, чтобы код работал независимо от ошибки и просто регистрировал ошибку.
def extract (a: (String, PortableDataStream)) = {
val file : File = new File(a._1.drop(5))
val myparser : AutoDetectParser = new AutoDetectParser()
val stream : InputStream = new FileInputStream(file)
val handler : WriteOutContentHandler = new WriteOutContentHandler(-1)
val metadata : Metadata = new Metadata()
val context : ParseContext = new ParseContext()
try {
myparser.parse(stream, handler, metadata, context)
stream.close
val headerrdd = handler.toString()
val meta = metadata.names()
metadata.add("txt", handler.toString())
val title = metadata.get("title")
}
catch {
case e: IOException => {
e.printstackTrace()
e.toString()
}
case e: TikaException => {
e.printstackTrace()
e.toString()
}
}
//rest of the code to write output to file
}
вот ошибка, когда я передаю .docx, который, скорее всего, является причиной отсутствия зависимостей (пытается исправить), но между темЯ хотел бы, чтобы код запускался при обработке ошибок java.lang.NoClassDefFoundError:org/apache.poi.openxml4j/exceptions/InvalidFormatException
at
org.apache.tika.parser.microsoft.ooxml.OOXMLParser.parse(OOXMLParser.java:82)
at
org.apache.tika.parser.CompositeParser.parser(CompositeParser.java:281)
org.apache.tika.parser.CompositeParser.parser(CompositeParser.java:281)
org.apache.tika.parser.AutoDetectParser.parser(AutoDetectParser.java:281)