0

したがって、依存関係として2つのjarを必要とするJavaアプリケーションがあります。2 つの依存関係の 1 つは、私が作成した VT Access と呼ばれる Java ライブラリであり、メイン クラスはありません。もう 1 つの依存関係の jar は jsoup です。

そこで、マニフェストを使用して、Eclipse からクラスパスにあるこの 2 つの jar を含む Java アプリケーションをエクスポートします。

Manifest-Version: 1.0
Main-Class: vt.access.workshop/UI
Class-Path: "C:\Users\ethan\Documents\ACTUAL My Documents\Programs\VT Access API workshop\Dependencies\*"

結果のjarを実行すると、エラーが発生します。

Failed to load Main-Class manifest attribute from
.\VT Access.jar

何が問題なのかわかりません。依存関係の1つにメインクラスがある場合、このプログラムはなぜ気にするのですか?

ところで、Vt Access のマニフェストは次のとおりです。

Manifest-Version: 1.0
Class-Path: "C:\Users\ethan\Documents\ACTUAL My Documents\Libraries\Java Libraries\jsoup\jsoup-1.6.3.jar"
4

1 に答える 1

1

クラス名が無効です:

vt.access.workshop/UI

する必要があります

vt.access.workshop.UI

さらに、クラスパスで絶対パスを使用できるかどうかもわかりませんし、ワイルドカードを使用できるかどうかもわかりません。また、クラスパスが推移的ではないことも確信しているため、相対パスを使用し、jar が依存するすべての jar ファイルをクラスパスに追加する必要があります。

Class-Path: jsoup-1.6.3.jar vtaccess.jar

これらのライブラリをサブディレクトリに追加する場合は、バックスラッシュではなくスラッシュを使用してください。jar ファイル名から空白を削除します。

Class-Path: lib/jsoup-1.6.3.jar lib/vtaccess.jar

詳細については、Java チュートリアルを参照してください。

于 2013-03-11T08:31:28.210 に答える