6

Eclipse プロジェクトから自己完結型の .jar ファイルを作成しようとしています。「自己完結型」とは、このプロジェクトのすべての依存関係 (つまり、他の jar) を生成された jar に含める必要があることを意味します。エクスポートした jar を別のプロジェクトでライブラリとして使用したいと考えています。問題は、依存関係からクラスの 1 つに対して NoClassDefFoundError を取得することです。すべての依存関係がパッケージ化された実行可能なjarと「通常の」jarの両方をエクスポートしようとしました。これらはどちらも機能しません。

マニフェストは次のようになります。

Manifest-Version: 1.0
Main-Class: com.path.to.MyMainClass
Class-Path: lib/resolver.jar lib/xercesImpl.jar lib/xml-apis.jar lib/Mac-Cocoa64/swt.jar  

.classpath は次のようになります。

<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    <classpathentry kind="lib" path="lib/resolver.jar"/>
    <classpathentry kind="lib" path="lib/xercesImpl.jar"/>
    <classpathentry kind="lib" path="lib/xml-apis.jar"/>
    <classpathentry kind="lib" path="lib/Mac-Cocoa64/swt.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

欠落しているクラス定義は、SWT.jar ファイルからのものです。この jar を正常にエクスポートして他の場所に含めることができるようにするために、何が間違っているのか、またはどのような手順を実行する必要があるのか​​考えていますか?

乾杯、

マーティン

4

2 に答える 2

13

それは誰かを助けるかもしれません

1.プロジェクトのプロパティからエクスポートを選択

1. プロジェクトのプロパティからエクスポートを選択します

2.Runnable Jar オプションの選択

2. 実行可能な Jar オプション

3.JAR の作成を終了します (ここでは、生成された jar にすべての依存関係をパッケージ化するオプションがあります。)

3. 作成を終了します。

于 2014-05-14T11:55:25.360 に答える