我不喜欢叠加流量。如果我违反任何规则,请道歉。
我可以启动jetty嵌入式服务器,但我想在同一程序中启动服务器之前部署一个战争。我在另一个文件夹中保留了我的外部战争,我尝试使用以下代码
final Server server = new Server();
final WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
final URL url = Main.class.getResource("war1.war");
final String a = url.getPath();
System.out.println(a);
webapp.setWar(a);
webapp.setExtractWAR(true);
webapp.setCopyWebInf(true);
server.setHandler(webapp);
server.start();
server.join();
这是一个错误。如果我做错了,请指导我。
2013-11-27 12:59:01.992:WARN:oejw.WebAppContext:Failed startup of context o.e.j.w.WebAppContext{/,[file:/C:/Users/admin/AppData/Local/Temp/JettyContext1841794772027580678/webinf/, file:/C:/Users/admin/AppData/Local/Temp/JettyContext1841794772027580678/webapp/]},/C:/Users/admiin/Documents/workspace-sts-3.1.0.RELEASE/JettyRunner/target/classes/war1.war
MultiException[java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspSourceDependent, java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspSourceDependent, java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspSourceDependent]
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:718)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:263)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1238)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:480)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
at org.eclipse.jetty.server.Server.doStart(Server.java:277)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at Main.main(Main.java:39)
如果我需要做任何其他事情,请告诉我。我的目标是使用嵌入式tomcat / jetty服务器(任何网络服务器)部署外部战争。