首页 文章

为什么我的码头部署的战争正在寻找org.apache.juli.logging.LogFactory?

提问于
浏览
4

我试图从嵌入式jetty服务器内部署war文件 . 我在WAR的WEB-INF / lib中有commons-logging jar . JspServlet的init方法正在寻找这个org.apache.juli.logging.LogFactory类 . 我正在使用Jetty 7.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();
    }
}

1 回答

  • 3

    你的构建中有一个旧的JspServlet(你粘贴的错误来自Tomcat 6的JspServlet!)

    确保使用 jetty-distribution--7.5.0.v2011090 使用的相同服务器端JSP支持jar .

    这是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使用Apache的Jasper编译器和Glassfish进行修改 .

相关问题