這裏是一個快速的問題:是否有可能從一個不同的項目啓動帶有嵌入式碼頭的web-app? 我試圖運行(使用JUnit)下面的代碼:如何從一個不同的項目啓動webapp與嵌入式碼頭
Server server = new Server(80);
WebAppContext context = new WebAppContext();
File webXml = new File("../Project1/src/main/webapp/WEB-INF/web.xml");
context.setDescriptor(webXml.getAbsolutePath());
context.setResourceBase("../Project1/src/main/webapp");
context.setContextPath("/");
context.setParentLoaderPriority(false);
server.setHandler(context);
server.start();
如果我做這從另一個項目,比方說Project2的,碼頭拋出了很多例外的: javax.servlet.UnavailableException:的com.sun .xml.ws.transport.http.servlet.WSSpringServlet 拋出java.lang.ClassNotFoundException:com.sun.xml.ws.transport.http.servlet.WSSpringServlet
我試着加入PROJECT1到項目的類路徑2,但這不利於這種情況。 如果我嘗試在相同的Project1中運行相同的程序(當然,所有路徑都進行了調整) - 一切正常。
謝謝你的幫助。
儘管如此,應用程序丟失所有類。如果您正在目標文件夾下查找Web應用程序,則所有庫和類都可以在WEB-INF/lib中找到。如果我將webAppDir作爲目標/ webappname鏈接,則它會啓動。如果它是一個你想要啓動的源文件(src/main/webapp),所有的類和庫鏈接到項目中(在這種情況下不同)。這裏的任何想法?也許將服務器類路徑擴展到project1? 不過,謝謝你的幫助。 – artemonster 2013-05-16 06:34:13