Eclipseを使用してパッケージ化していますが、CMDウィンドウを実行すると、「Activemq.jarにメインマニフェスト属性がない」エラーを実行すると報告しました。
オンラインで検索し、これがmanifest.mfファイルに関連していることがわかりました。このファイルは、メインメソッドが配置されているクラスのパスを定義しません。 JARパッケージを開くために使用できます。予想通り。内部には1つの行だけがあります
マニフェストバージョン:1.0
メインクラスを追加する必要があります。この例では、次を追加します。
メインクラス:com.luoluo.testuse.activemq.activemqstatemain
上には、注意すべき点がいくつかあります。
1。メインクラス:com.luoluo.testuse.activemq.activemqstatemainの間にスペースがなければなりません。
2。com.luoluo.testuse.activemqはこのクラスのパッケージ名であり、ActivemqstateMainはメインメソッドがあるクラス名です。注:.javaまたは.classは、その後追加する必要はありません。
3.サードパーティパッケージを引用しない場合は、Enterを押して次の行に移動させる必要があります。それ以外の場合は、「Activemq.jarにメインマニフェスト属性はありません」というエラーがまだあります。サードパーティパッケージが参照されている場合は、クラスパスの後にEnterを押します。要するに、関連するパラメーターを指定した後、Enterを押して、カーソルを次の行に移動させます。
上記はメインクラスのみを定義しています。サードパーティのパッケージが参照されている場合、次のエラーが報告されます。
スレッド「Main」Java.lang.NoclassDeffoundError:org/apache/activemq/broker/jmx/brokerviewmbeanの例外
現時点では、クラスパスをmanifest.mfファイルで定義する必要があります。この例では、次を追加します。
クラスパス:lib/activemq-all-5.12.1.jar
注:クラスパスとlib/activemq-all-5.12.1.jarの間にもスペースがあります。
同時に、JARパッケージの同じレベルのディレクトリで、新しいLIBフォルダーを作成し、ActiveMQ-All-5.12.1.jarをコピーします。
たとえば、この例では、JARパッケージはc:/users/victor/desktopの下にあり、c:/users/victor/desktopディレクトリに新しいlibフォルダーを作成し、対応する3番目のパッケージを入力する必要があります。
前者はパッケージ化されたJARパッケージであり、後者はLIBフォルダーで、サードパーティのJARパッケージが含まれています。
最後に、manifest.mfファイルの内容は次のとおりです。
最終的な実行結果は次のとおりです。
上記のコンテンツは、JavaがJARパッケージを作成する際にサードパーティのJARパッケージを引用する方法を共有しています。気に入っていただければ幸いです。