2013-02-04 32 views
9

処理中、私は外部ライブラリ(.jarファイル)を囲むJavaで書いたライブラリをインポートしたいと思います。External Jar依存関係を持つEclipseプロジェクトをエクスポートするにはどうすればいいですか?

処理は自分自身のライブラリをインポートするように見えますが、コンストラクタ(外部ライブラリのいくつかのクラスを参照する)を呼び出すと、Processing GUIコンソールにjava.lang.NoClassDefFoundErrorが表示されます。

EclipseビルドパスにExternal .jarを含める代わりに、ライブラリの実際のソースコードを使用し、そのすべてをエクスポートします。処理はエラーにはなりません。

このプロジェクトをパッケージ化して、Eclipseプロジェクトにライブラリのソースコードをすべて(および.jarファイルだけを含む)追加する必要はありません。


更新:N.L.telavivの提案を1として、私はRunnableをJARとしてエクスポートすることを選びました。私にとっては、「生成されたJARの隣のサブフォルダに必要なライブラリをコピーする」オプションを選択することでした。ここでは、参照される.jarライブラリを含む.jarが出力される場所の隣に別のフォルダが作成されます。

更新2:「生成されたJARに必要なライブラリを抽出する」という別のオプションがあります。これにより、JARは内部的に参照にアクセスできます。 N.L.telavivの提案と同じことが起こったように見えましたが、それはそうではないようです。余分なファイルを必要としない場合は、このオプションを選択します。 .JARファイルを調べると、外部ライブラリは別のパッケージフォルダにあることに気付くでしょう。

+0

こんにちは内のライブラリを必要とし、私はすべてのこれらのオプションを選びましたが、誰も私のために働いていませんでした。何が問題になるのか教えていただけますか?ありがとうございました! –

答えて

6

Runnable JARファイルのエクスポートオプションを使用します。輸出 - - Javaベースの実行可能なjarファイル - プロジェクトの

クリックしてパックするオプションを選択するには瓶

+0

ちょうどそれを試みた、運がない。ここでの唯一の違いは、MyProjectPackage。*のインポートに伴い、org.eclipse.jdt.internal.jarinjarloaderをインポートすることです。* – funseiki

+0

MANIFESTのクラスパス定義にはすべてのJARがあります。 – Nimrod007

+0

.classpathを参照していますかファイル?そうであれば、それは.jarを持っています。また、生成されたjarファイルにパッケージ化するのではなく、「生成されたJARの隣にサブフォルダに必要なライブラリをコピーする」を選択すると、動作するように見えます。 – funseiki

関連する問題