Lire-0.9.4-beta 1 DocumentBuilderの初期化エラー
2334 ワード
エラー原因:0.9.4-beta 1このバージョンのnet.semanticmetadata.lire.indexing.パケットの下にLshBitSamplingという名前のobjのファイル
本人はMavenを利用してLireフレームワークを導入したが、Maven Repositoryの唯一のバージョンは0.9.4-kzwang-beta 1(リンクを開くをクリック)
テスト中に初期化エラーが表示されました.
DocumentBuilderファクトリでDocumentBuilderの初期化中にエラーが発生しました
「at.net.semanticmetadata.lire.impl.GenericDocumentBuilder.(GenericDocumentBuilder.java:89)」という場所から、エラーを探し始めました
最後のレイヤ「at java.util.zip.InflaterInputStream.(Unknown Source)」まで、ソースコードを見てみました.
「if(in==null|inf==null){throw new NullPointerException();}」というコードは、空のポインタが例外である理由がinまたはinfが空であることを示しますが、infはGZIPInputStreamでnew Inflater(true)によって作成され、この作成文はエラーを報告していません.infが空でないことを示しています.
だからエラーの原因はinが空で、このinはBitSamplingです.readHashFunctionsメソッドで「BitSampling.class.getResourceAsStream(hashFunctionsFileName)」を使用して作成された
hashFunctionsFileNameの値はLshBitSampling.obj.
ここに着いて、私は突然何かを思い出した.△何なのか分からないが、どうせ私は自然に次の動作をする...
そこで、以前にlireフレームワークを正常に実行できたプロジェクトを探しました.このプロジェクトのLireフレームワークバージョンは0.9.4-beta 2です.
私がnetを開くまで何度も開けましたsemanticmetadata.lire.indexing.hashingパッケージの場合、すべてのエラーが解決しました.私が新しいプロジェクトに導入した0.9.4-beta 1の
net.semanticmetadata.lire.indexing.バッグの下にLshBitSamplingはありませんobjファイルですが、以前のプロジェクトにはこのファイルがありました.
本人はMavenを利用してLireフレームワークを導入したが、Maven Repositoryの唯一のバージョンは0.9.4-kzwang-beta 1(リンクを開くをクリック)
テスト中に初期化エラーが表示されました.
Exception in thread "main" java.lang.ExceptionInInitializerError
at net.semanticmetadata.lire.DocumentBuilderFactory.getDefaultDocumentBuilder(DocumentBuilderFactory.java:67)
Caused by: java.lang.NullPointerException
at java.util.zip.InflaterInputStream.<init>(Unknown Source)
at java.util.zip.GZIPInputStream.<init>(Unknown Source)
at java.util.zip.GZIPInputStream.<init>(Unknown Source)
at net.semanticmetadata.lire.indexing.hashing.BitSampling.readHashFunctions(BitSampling.java:148)
at net.semanticmetadata.lire.impl.GenericDocumentBuilder.<clinit>(GenericDocumentBuilder.java:89)
... 2 more
DocumentBuilderファクトリでDocumentBuilderの初期化中にエラーが発生しました
「at.net.semanticmetadata.lire.impl.GenericDocumentBuilder.
最後のレイヤ「at java.util.zip.InflaterInputStream.
public InflaterInputStream(InputStream in, Inflater inf, int size) {
super(in);
if (in == null || inf == null) {
throw new NullPointerException();
} else if (size <= 0) {
throw new IllegalArgumentException("buffer size <= 0");
}
this.inf = inf;
buf = new byte[size];
}
「if(in==null|inf==null){throw new NullPointerException();}」というコードは、空のポインタが例外である理由がinまたはinfが空であることを示しますが、infはGZIPInputStreamでnew Inflater(true)によって作成され、この作成文はエラーを報告していません.infが空でないことを示しています.
だからエラーの原因はinが空で、このinはBitSamplingです.readHashFunctionsメソッドで「BitSampling.class.getResourceAsStream(hashFunctionsFileName)」を使用して作成された
hashFunctionsFileNameの値はLshBitSampling.obj.
ここに着いて、私は突然何かを思い出した.△何なのか分からないが、どうせ私は自然に次の動作をする...
そこで、以前にlireフレームワークを正常に実行できたプロジェクトを探しました.このプロジェクトのLireフレームワークバージョンは0.9.4-beta 2です.
私がnetを開くまで何度も開けましたsemanticmetadata.lire.indexing.hashingパッケージの場合、すべてのエラーが解決しました.私が新しいプロジェクトに導入した0.9.4-beta 1の
net.semanticmetadata.lire.indexing.バッグの下にLshBitSamplingはありませんobjファイルですが、以前のプロジェクトにはこのファイルがありました.