4

組み込みのjettyサーバー内からwarファイルをデプロイしようとしています。WARのWEB-INF/libにcommons-loggingjarがあります。JspServletのinitメソッドは、このorg.apache.juli.logging.LogFactoryクラスを探しています。Jetty7.5を使用しています。

Jettyを組み込んだ戦争を展開する方法を研究しているときに、jspsを機能させるのに問題があることもわかりました。このクラスを探しているのはJspServletなので、これはそれに関連しているのでしょうか?

WARは非常に単純で、基本的にはSpring MVC 3のHelloWorldの例です。この時点では、プロトタイプを作成しているだけです。Jettyサーバーもかなり必要最低限​​のものです。ここにあります:

public class JettyServer extends Server {

    Server server;
    int port;

    public JettyServer(int port) {
        server = new Server(port);

        WebAppContext webapp = new WebAppContext();
        webapp.setContextPath("/");
        webapp.setWar("webapps/myWar.war");
        server.setHandler(webapp);
    }

    public void startServer() throws Exception {
        server.start();
        server.join();
    }
}
4

1 に答える 1

3

ビルドのどこかに古いJspServletがあります(貼り付けたエラーはTomcat 6のJspServletからのものです!)

が使用するのと同じサーバー側JSPサポートjarを使用するようにしてくださいjetty-distribution--7.5.0.v2011090

Jettyに同梱されているリストは次のとおりです。

[jetty-distribution-7.5.0.v20110901]$ sha1sum lib/jsp/*.jar
84d1928dbcf564dab574577ac454ef7cacec2b9a  lib/jsp/com.sun.el_1.0.0.v201004190952.jar
5618cc694d1e1ce8956fa441b551c8b690547fab  lib/jsp/ecj-3.6.jar
b4628cebfe2612db3c646ffbde43029fd3d0d7a0  lib/jsp/javax.el_2.1.0.v201004190952.jar
2c891df2ef4882fd250d34d7a873061bf4c3d9bc  lib/jsp/javax.servlet.jsp_2.1.0.v201004190952.jar
582f581db2e9646d1f61313f3d96ced8c0acdac5  lib/jsp/javax.servlet.jsp.jstl_1.2.0.v201004190952.jar
3bd086e9e7bdcff906ad25fed4e5805ad101fc5e  lib/jsp/jetty-jsp-2.1-7.5.0.v20110901.jar
3ec4b7e53369ed311a3171fe6b73beb773a46e25  lib/jsp/jsp-impl-2.1.3-b10.jar
b070c22fe31d84de75135da39faff654fe42c933  lib/jsp/org.apache.taglibs.standard.glassfish_1.2.0.v201004190952.jar

Jettyは、Glassfishによる変更を加えたApacheのJasperコンパイラを使用します。

于 2013-03-08T14:02:56.253 に答える