私は最近、1.10の代わりにtika 1.13を使用するように既存のtikaプロジェクトを更新しました。私がしたのは、依存バージョンを1.10から1.13に変更することだけでした。プロジェクトは正常に構築されました。Tika 1.13 RuntimeException
private final AutoDetectParser _tikaExtractor;
public MetaParser()
{
_tikaExtractor = new AutoDetectParser();
}
:
java.lang.RuntimeException: Unable to parse the default media type registry
at org.apache.tika.mime.MimeTypes.getDefaultMimeTypes(MimeTypes.java:580)
at org.apache.tika.config.TikaConfig.getDefaultMimeTypes(TikaConfig.java:69)
at org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:218)
at org.apache.tika.config.TikaConfig.getDefaultConfig(TikaConfig.java:341)
at org.apache.tika.parser.AutoDetectParser.<init>(AutoDetectParser.java:51)
at com.app.tikamanager.MetaParser.<init>(MetaParser.java:54)
at com.app.services.MyService.HandleItemInThread(IntelligentDocumentsService.java:260)
at com.app.intelligentservicebase.ItemHandlerThread.run(ItemHandlerThread.java:41)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.tika.mime.MimeTypeException: Invalid type configuration
at org.apache.tika.mime.MimeTypesReader.read(MimeTypesReader.java:126)
at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:64)
at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:93)
at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:170)
at org.apache.tika.mime.MimeTypes.getDefaultMimeTypes(MimeTypes.java:577)
... 10 more
Caused by: org.xml.sax.SAXNotRecognizedException: http://javax.xml.XMLConstants/feature/secure-processing
at org.apache.xerces.parsers.AbstractSAXParser.setFeature(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.setFeatures(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source)
at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParserImpl(Unknown Source)
at org.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(Unknown Source)
at org.apache.tika.mime.MimeTypesReader.read(MimeTypesReader.java:119)
... 14 more
例外が私のMetaParser
クラスのコンストラクタからスローされた、唯一のものはAutoDetectParser
の初期化があります:私がしようとすると、アプリケーションを実行するたびに、まだ私はこの例外を取得しますOracle JDK 1.8.0_91-b14を使用してUbuntu 14.04でアプリケーションを実行しています。
私はオンラインで見ましたが、この例外は何度か言及されていましたが、OpenJDKをインストールする可能性のある修正がTikaの古いバージョン用であったのと、古いバージョンが同じJDKでうまく動作していたので、それが問題だとは思わない。
AutoDetectParser
コンストラクタを呼び出す前に、やりたいことや初期化する必要がありますか?
万が一クラスパスにXercesの古いコピーがありますか?もしそうなら、それを削除して(JVMのデフォルトのXMLプロセッサーに戻す)、それを最新のコピーにアップグレードするとどうなりますか? – Gagravarr
Near-duplicate:[Java 8 "secure-processing org.xml.sax.SAXNotRecognizedException"でXMLをアンマーシャリングする際のエラー(http://stackoverflow.com/questions/25644023/error-unmarshalling-xml-in-java-8-安全処理org-xml-sax-saxnotrecognize) – Gagravarr
@Gagravarrありがとうございました。 Xercesは依存関係に依存していました。私はそれを最新バージョンに更新しました。現在は動作しています。ありがとう –