1

私は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 アプリケーションもプログラムでデプロイできる必要があります。何が問題なのか誰か教えてもらえますか?

前もって感謝します。

4

1 に答える 1

6

スレッドに参加しないでください。

参照:http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html#join()

于 2012-05-31T13:44:20.050 に答える