0

以前に投稿された同様の質問があることは知っていますが、それらを調べましたが、それでもうまくいきません。

サンプルの JMS テスト クラス (チャット アプリケーション) を作成しており、javaee.jar と javax.jms.jar を使用しています。Eclipse IDE でテストでき、正常に動作します。しかし、複数のウィンドウを実行できるように、コマンド プロンプトを使用して実行しようとしています。Chat.java ファイルをコンパイルして、Chat.class を作成しました。しかし、実行しようとすると、could not find or load main class. これらは私が使用したコマンドです:

src/domainフォルダーから:

javac -classpath javaee.jar;javax.jms.jar Chat.java----これにより、ドメインがパッケージ名であるドメインフォルダー内にChat.Classが作成されました

srcフォルダーから次のコマンドを実行しました

java -classpath javaee.jar;javax.jms.jar domain.Chat----これにより、could not find or load main class domain.Chatエラーメッセージが表示されます

しかし、-classpath パラメーター ( java domain.Chat) なしで実行すると、main() が読み取られ、jms jar ファイルが見つからないため、別のエラーが発生します。

E:\eclipse\Spring\JMSChat\src>java domain.Chat Exception in thread "main" java.lang.NoClassDefFoundError: javax/jms/MessageList ener

したがって、基本的にChat.class、クラスパスパラメーターを渡さないとファイルが見つかり、クラスパスを使用してjarを追加するとクラスが見つかりません。ドメインフォルダー内とsrcフォルダーから実行しようとしましたが、うまくいきませんでした。私が間違っている手がかりはありますか?

前もって感謝します。

4

2 に答える 2

3

これを試して

java -classpath javaee.jar;javax.jms.jar;. domain.Chat

デフォルトjavaでは、クラスパスの現在のディレクトリを使用します。-cpフラグを使用すると、パスdomain.Chatが見つからないため、そうではありません。

于 2013-09-13T21:38:21.397 に答える
0

1) Eclipse からアプリの複数のインスタンスを実行できます。また、コンソール アイコンの横にある矢印をクリックして、割り当てられたコンソールを循環することで、それらの出力を確認できます。

2) ソース フォルダjava -classpath .;javaee.jar;javax.jms.jar domain.Chat"."から実行してみてください。現在のディレクトリを意味します

于 2013-09-13T21:38:41.553 に答える