我正在試驗Junit 4,現在已經有一段時間了。部分單元測試需要部署暴露一些Web服務的戰爭應用程序。我使用的是Eclipse Helios,並且我在項目的構建路徑中添加了兩個不同的jar: 1- jetty-all-8.1.3.v20120416.jar 2- servlet-api-3.0.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
試圖加入服務器是r無限期地延伸,並且不會拋出任何例外。
在另一個嘗試中,我在我的機器上下載了jetty 8.1.3 web服務器,並將axis.war放在webapps目錄下,然後從命令行使用start.jar啓動jetty。它從那裏完美地工作,我能夠達到我公開的Web服務方法。
但是,我需要能夠以編程方式啓動和停止jetty,並以編程方式部署我的web應用程序。有誰能告訴我問題是什麼?
在此先感謝。
爲什麼要加入第一個地方??? http://stackoverflow.com/questions/15924874/embedded-jetty-why-to-use-join –