2017-02-23 34 views
0

私は過去2週間で私のWebアプリケーションアプリでこのエラーを見始めました。サーバーはLinuxのredhatであり、最近パッチが適用されていません。また、それは44日間続いた。また、JavaやTomcatの変更やリリースはありませんでした(しかし、Tomcatは1日1回バウンスします)。私はそれが何らかのcharset/locale/encodingの問題のように見えますが、なぜそれがなぜ始まったのかは分かりません。それは最終的にpoiコードと関係がある。DataInputStream UTFDataFormatException:バイト88の不正な入力根本的な原因

私はpoi-ooxml-3.10.1.jarを使用しています。これはxmlbeans-2.6.0.jarを取得します。 xmlbeansが初期化され、コンパイルされたスキーマの1つから2バイトの「変更されたUTF-8」文字を読み込むときにエラーが発生するようです。それは私が今のところどこにいるのか。制御された環境で起きるのは、なぜ私が困惑しているのかということです。以下は、この

new SXSSFWorkbook(-1); 

いくつかのスニペットを起こしたコードの

ライン:ローカルのWindowsマシン上

at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:181) 
at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:172) 
at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:143) 
at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:205) 
... 
Caused by: java.io.UTFDataFormatException: malformed input around byte 88 
    at java.io.DataInputStream.readUTF(DataInputStream.java:634) 
    at java.io.DataInputStream.readUTF(DataInputStream.java:564) 
    at 
org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl$StringPool.readFrom(SchemaTypeSystemImpl.java:1050) 

その再現性がありません。

大変ありがとうございました。

+0

なぜ私は 'readUTF()'がまったく呼び出されていないのか、私には何のバッフルがありますか? 'writeUTF()'フォーマットはJavaに特有のもので、Microsoft POIフォーマットとは何の関係もありません。 – EJP

答えて

0

これは何らかの種類の破損したビルドでした。非常に奇妙な。とにかく再建されました。

関連する問題