0

私はフローを積み重ねるのにノービーです。ルールを破った場合はお詫び申し上げます。

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 サーバー (任意の Web サーバー) を使用して外部戦争を展開することです。

4

0 に答える 0