私はJunit 4を試していますが、しばらく経ちました。私の単体テストの一部では、いくつかの Web サービスを公開する war アプリケーションをデプロイする必要があります。私は Eclipse Helios を使用しており、プロジェクトのビルド パスに次の 2 つの異なる jar を追加しました。
テスト クラスでは、jetty を開始し、公開された Web サービスを含む axis2.war Web アプリケーションをデプロイするために、次のコードを実行しています。
System.out.println("Initializing server");
Server server = new Server(8181);
System.out.println("Server initialized");
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setParentLoaderPriority(true);
webapp.setWar("C:\\axis2.war")
server.setHandler(webapp);
System.out.println("Starting server");
server.start();
System.out.println("Joining server");
server.join();
System.out.println("Finished starting Jetty...");
上記のコードの出力は次のとおりです。
Server initialized
Starting server
Joining server
サーバーに参加しようとすると無期限に実行され、例外はまったくスローされません。
別の試みとして、自分のマシンに jetty 8.1.3 Web サーバーをダウンロードし、axis.war を webapps ディレクトリに配置してから、コマンド ラインから start.jar を使用して jetty を起動しました。そこから完全に機能し、公開された Web サービス メソッドにたどり着くことができました。
ただし、jetty をプログラムで開始および停止し、Web アプリケーションもプログラムでデプロイできる必要があります。何が問題なのか誰か教えてもらえますか?
前もって感謝します。