彩票计算JAVA版(四)内置WEB容器jetty

本文介绍如何使用Jetty作为内置WEB容器,并通过解决NoClassDefFoundError异常,成功集成Tomcat的日志组件JULI,实现正确启动Jetty服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

彩票计算JAVA版(四)内置WEB容器jetty

首页
http://jetty.mortbay.com/jetty/

下载页面
http://dist.codehaus.org/jetty/

我是用MAVEN2来管理的JAR包,所以MAVEN2的pom.xml文件如下:
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.16</version>
</dependency>

测试启动应用的类JettyApplication.java如下:
package com.sillycat.easyluck.webserver;

import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;

public class JettyApplication {
public static void main(String[] args) throws Exception {
Server server = new Server();
Connector conn = new SelectChannelConnector();
conn.setPort(8080);
server.setConnectors(new Connector[] { conn });
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setWar("./web");
server.setHandler(webapp);
server.start();
}
}

默认启动8080端口,CONTEXTPATH为/,由于我WEB目录下就放置了一个index.jsp来做测试,所以访问地址就是:
http://localhost:8080/

不幸的是,启动报错了,报错如下:
2009-07-21 17:39:01.125::WARN: failed jsp
java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:61)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153)
at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:419)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:676)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.sillycat.easyluck.webserver.JettyApplication.main(JettyApplication.java:18)


晕翻,都是jetty了,打个日志,NND还要去找tomcat的juli,唉。。。。。
找到我本机安装的TOMCAT地址D:\eclipse-jee\apache-tomcat-6.0.18\bin
找到包tomcat-juli.jar,上传到我的MAVEN2私服,再在pom.xml配置文件中加入如下信息:
<dependency>
<groupId>org.apache.juli</groupId>
<artifactId>tomcat-juli</artifactId>
<version>6.0.18</version>
</dependency>
问题解决
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值