0

コードでスタンフォードパーサーを使用しています。プロジェクトに関連するすべてのライブラリを追加しました。コンソールでコードを実行すると、完全に正常に機能します。しかし、「必要なライブラリを生成されたJARの隣のサブフォルダーにコピーする」オプションを指定してソースの「実行可能なjar」を作成し、コマンドpromtで同じものを実行すると、エラーがスローされます。

スレッド「Thread-2」の例外java.lang.NoSuchMethodError:
edu.stanford.nlp.process.DocumentPreprocessor。(Ljava / io / Reader;)V at edu.stanford.nlp.tagger.maxent.MaxentTagger.tokenizeText(MaxentTagger。 java:852)at edu.stanford.nlp.tagger.maxent.MaxentTagger.tokenizeText(MaxentTagger.java:837)atクラスパスで必要なすべてのライブラリを提供しました。また、メソッドtokenizeTextはMaxentTaggerに存在します。いくつかの解決策を提案してください。

4

1 に答える 1

1

これはほぼ確実に、互換性のないリリースのパーサーとタガーを組み合わせたことを意味します。たとえば、jar ファイルに挿入されているタガーのバージョンは、コマンドラインでコードを実行したときに取得されたものとは異なる可能性があります。パーサーとタガーのどのバージョンを使用していますか? スタック トレースの行番号から、最新バージョンではないようです。

于 2012-02-08T05:03:11.403 に答える