使用Jetty加快调试速度

本文介绍如何使用Jetty实现Java类的热部署,避免频繁重启服务器。通过简单的步骤配置Jetty,实现在修改Java代码后无需重启即可看到效果的功能。

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

为什么要用Jetty?

我们在开发过程中,经常遇到修改一个java类,哪怕只修改了一行代码,也要重启Tomcat才能看到修改结果的情况。这样也许修改代码只花了5秒钟,要看到结果却需要等50秒钟。有没有一种方法可以不用重应用启服务器,直接可以看到修改结果,就像修改Jsp一样呢?

答案是有——那就是使用Jetty。

之前也有同事写过使用Jetty的案例,不过那是以插件的方式去用,我个人比较偏好“轻量”开发,不喜欢弄一大堆插件在eclipse里面,因此这里给大家提供另一种选择——直接以application的方式来运行Jetty,只需要将相应的jar包加入到类路径中去就行了。

第一步,引入相应的jar包

将附件中的压缩文件,解压到任意目录,然后在eclipse里面新建一个“User Libraries”,将这些jar添加进去。

然后将这个libraries添加到我们正在开发的项目中去。

第二步,编写Jetty启动程序

程序很简单,只有一个main方法即可:

   

public static void main(String[] args) throws Exception {
        Server server = new Server();
        Connector connector = new SelectChannelConnector();
        connector.setPort(80); // 设置要监听的端口.
        server.addConnector(connector);
        WebAppContext context = new WebAppContext();
        context.setContextPath("/irm"); // 设置上下文路径
        // 设置web应用根路径
        context.setResourceBase("D:/java/workspace/EKP-IRM/WebContent");
        HandlerCollection handlerCollection = new HandlerCollection();
        handlerCollection.addHandler(context);
        server.setHandler(handlerCollection);
        server.start();
    }

 

 

第三步,开始调试

以debug方式运行第二步中编写的启动程序(注意一定要是debug方式,否则无法热加载改动过的Java类),打开浏览器,开始访问。

Jetty的局限性

只能热加载Java类,无法热加载资源文件、Struts配置文件、Spring配置文件等。

调试次数多了之后,容易出现热加载Java类失败的情况,此时不容易发觉,还以为自己改得不对。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值