5

エクスポートを介して、Eclipseで参照ライブラリ(つまり、 jackson )を含む実行可能なJARを作成したいと思います。Eclipseが実行可能なJARへのエクスポートを提案する前は、gotoソリューションのように見えるファットjarがありました。

この質問から、最初のオプションは私が探しているものです。今のところ小さなプロジェクトなので、常にすべてをまとめることは問題ではありません(さらに、JAR、runnables、jnlpから始めたばかりなので、私にとっては簡単です)

起動しようとすると、問題が発生したことを示すアラートウィンドウが表示され、コンソールでそれを見つけようとします(開くことができません)。

この参照ライブラリの使用を削除すると、すべてが完全に実行されます(私が望むことをまったく実行していない部分を除く)。ウィンドウは私が設計したように見えますが、ライブラリがないと機能しません。

問題を解決するためのスタックトレースすらありません。参照ライブラリなしで他のプロジェクトを作成しましたが、すべて問題ありません。だから私はそれをかなり絞り込んだ。

エクスポートとすべてをEclipseに処理させるので、マニフェストが問題ないかどうかを確認する必要はないと思います。ご不明な点がございましたら、必要な情報をお知らせします。言うまでもなく、プロジェクトはEclipseから直接実行されます。

Eclipseバージョン:Indigo Serviceリリース2ビルドID:20120216-1857


次のバケタの答えを編集する

これを行うと、カスタムのRuntimeExceptionが発生します。私はここで少し困惑しています。これが私のコードの簡単な説明です。参照ライブラリ(jackson)を使用するユーティリティクラス(UtilityJSON)があります。そのユーティリティクラスのコンストラクタは、参照ライブラリで定義されたオブジェクトをインスタンス化します。これをマッパーと呼びましょう。UtilityJSONのメソッドは、「mapper」のメソッドを使用します。この時点で、例外が発生します。私が困惑しているのは、「マッパー」が正常にインスタンス化されているのに、そのメソッドを使用すると例外が発生するためです。jarが参照ライブラリを見つけられなかった場合、おそらくオブジェクト'mapper'を作成できませんでした。しかし、Eclipseからプロジェクトを実行することはすべて問題ありません。実行可能jarを実行するときにデバッグする方法はありますか?たぶん、コンソールに何かをエコーし​​ます。


編集2

エラーを見つけた可能性があります。私のプログラムは、プロジェクト内のフォルダーにある*.txtファイルを読み取ります。jarの内容を調べると、このフォルダーが含まれていないことがわかります。したがって、例外です。したがって、問題は次のようになります。このフォルダを含めるにはどうすればよいですか。プロジェクトのルートフォルダにあります。

4

2 に答える 2

4

次のことを試すことができます。

  1. Eclipseで、「プロジェクト」->「プロパティー」に移動します。
  2. 左側の列から「Javaビルドパス」を選択します。
  3. [注文とエクスポート]タブを選択します。
  4. リストから「jackson」を見つけて、チェックされていることを確認します。

編集 更新された質問に答えるには:

Eclipseで、パッケージエクスプローラーで*.txtファイルを見つけます。それを右クリックして、[ビルドパス]->[ビルドパスに追加]を選択します。次に、上記の手順に従って、ファイルがJarに含まれていることを確認します。最後に、クリーンアップして再構築します。

さらにリソースを追加する場合は、リソースフォルダー(多くの場合「res」と呼ばれます)を用意するのが一般的です(そして理にかなっています!)。次に、フォルダー全体をビルドパスに追加して、そこにあるすべてのリソースがJarに含まれるようにします。

于 2012-04-19T16:23:37.217 に答える
1

次のように記述してJavaコンソールを有効にします

javaws -viewer

ターミナルで。キャッシュビューアを閉じて、[詳細設定]タブをクリックします。そこでJavaコンソールを開き、「コンソールを有効にする」をクリックします。

于 2012-04-19T15:39:32.263 に答える