2

私は(少なくとも私にとっては)奇妙なケースに遭遇しました。プロジェクトを Eclipse から実行しているときは、すべて問題ありません。しかし、プロジェクトを jar ファイルにエクスポートすると、InvocationTargetExceptionで失敗します。私は他の外部ライブラリを使用していますが、すべて正常に動作し (プログラムの実行時間は約 5 分です)、最後に docx が作成されます。

try {
  WordprocessingMLPackage wordMLPackage;
  wordMLPackage = WordprocessingMLPackage.createPackage(); // this is Line 1320
  // more lines here
} catch (Exception e) {
  e.printStackTrace();
}

私はcmdで実行していますが、次のように出力されます:

スレッド「メイン」での例外 java.lang.reflect.InvocationTargetException

原因: java.lang.ExceptionInInitializerError

com.lesswire.wita.Wita.CreateReport (Wita.java:1320) で

どうすれば私のjarファイルで動作させることができますか?

ありがとう、ロンサック

4

3 に答える 3

0

結局のところ、このバグの主な理由は、@alexei-kaigorodovが推測したようにLog4jConfiguratorに関連していました。だが!log4jは構成されましたが、docx4jには適していません!ネット上でlogj.xmlファイルを検索し、いくつか試しました。

方法は次のとおりです。

Eclipseでは、log4j.xmlがクラスフォルダーにあることを確認してください(多くの場合、これはCLASS PATHと呼ばれます)。そこに置きたくない場合は、作成して設定できます。EclipseでJavaビルドパスを開き、[ライブラリ]タブに移動します。次に、「クラスフォルダの追加」を選択し、新しく作成したフォルダを選択します。

何らかの理由でクリーンビルドを実行すると、log4j.xmlが上書きされます。logj4.xmlがCleanの直後にあることを確認してください。

于 2012-09-25T08:41:54.650 に答える
0

これはアプリケーションのクラスパスの問題だと思います。Eclipse クラスパス (プロジェクト プロパティ内) を確認し、Eclipse の外部でアプリケーションを実行するときに設定したクラスパスと比較します。最も可能性の高い原因は、com.lesswire.witaパッケージまたはその依存関係の 1 つを含むサード パーティのライブラリです。

于 2012-09-21T08:26:45.090 に答える
0

もう 1 つの可能性は、アプリケーションが新しい JRE バージョンに依存するライブラリを使用しているが、インストールされている JRE (OS パス環境の java.exe) が古いバージョンであるということです。

于 2014-08-14T13:52:03.710 に答える