0

アプリケーションで NoClassDefFoundError が発生しています。エラーは言う:

java.lang.NoClassDefFoundError: org.apache.poi.xssf.usermodel.XSSFWorkbook

問題は、私が見つけることができるすべての解決策を試しても成功しなかったことです。インポート/エクスポートの設定に問題があることはわかっていますが、何が問題なのかわかりません。

私のチームでは、model-view-controller アーキテクチャのモデルを担当しているので、最初に基本的な PC バージョンを開発してから Android に移植しました。これは私の魅力のように機能していたので、Eclipse がライブラリを電話で転送する部分を見逃したのではないかと思います。

1: これが現在のパッケージ エクスプローラーのビューです。

パッケージ エクスプローラー

ご覧のとおり、POI-3.9 ライブラリは私のプロジェクトのフォルダーにあります。すべての .jar が必要です。

2: プロジェクトのプロパティを見ると、[ライブラリ] タブに次のように表示されます。

ここに画像の説明を入力

このページで提案されているように、カスタム ユーザー ライブラリを作成しました。

3: [注文とエクスポート] タブに移動すると:

ここに画像の説明を入力

これが最も重要な部分であることはわかっています。

  1. ボックスをチェックせずにライブラリをどこにでも配置しようとすると、どのような方法でも常に NoClassDefFoundError が発生します。
  2. ボックスをチェックして同じことをすると、アプリケーションの起動中に Eclipse がフリーズし、タスク マネージャーでプログラムを終了する必要があります。

私の質問は、それが機能しない理由がわかりますか?

4

2 に答える 2

0

次の手順を使用して解決します。

  1. LogCat を確認する
  2. 見つからないクラスを見つけます。そのクラスを Google で POI api で検索すると、そのファイルがどの jar にあるかがわかります。
  3. その jar ファイルをダウンロードして、プロジェクトに含めます。
于 2013-08-07T04:52:07.237 に答える
0

プロジェクトでライブラリを使用できるようにするには、そのボックスをオンにする必要があります。これらの jar をエクスポートすることで、そのライブラリを参照するすべてのプロジェクトで使用できるようになります。

「Eclipse Freezing」とはどういう意味ですか? 起動に30分以上かかるのは、新しいエミュレーターだけですか? これは、平均的な Windows ボックスでは珍しいことではありません。そうでない場合は、エラー ログを確認します。

于 2013-08-05T10:04:02.740 に答える