嵌入式Jetty挂在join()上

Mou*_*ane 1 eclipse web-services jetty

我正在试验Junit 4现在已经有一段时间了.我的单元测试的一部分需要部署一个暴露一些Web服务的war应用程序.我正在使用Eclipse Helios,我在项目的构建路径中添加了两个不同的jar:1- jetty-all-8.1.3.v20120416.jar 2- servlet-api-3.0.jar

现在在我的测试类中,我正在运行以下代码以启动jetty并为了部署包含我公开的Web服务的axis2.war webapp:

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...");
Run Code Online (Sandbox Code Playgroud)

上面代码的输出如下:

Server initialized
Starting server
Joining server
Run Code Online (Sandbox Code Playgroud)

尝试加入服务器是无限期运行的,它不会抛出任何异常.

在另一次尝试中,我在我的机器上下载了jetty 8.1.3 Web服务器,并将axis.war放在webapps目录下,然后使用命令行中的start.jar启动了jetty.它从那里完美运行,我能够实现我暴露的Web服务方法.

但是,我需要能够以编程方式启动和停止jetty,并以编程方式部署我的Web应用程序.谁能告诉我这个问题到底是什么?

提前致谢.