Jetty开发指导:调试

如果你有一个web应用部署到Jetty,你能容易地从远程调试它。但首先你必须使用附加的参数启动远程JVM,然后在Eclipse中启动一个远程调试连接。这很容易就能做到。

注意:下面的例子假定你正在部署你的web应用到Jetty发布版本中。

设置Jetty调试端口

假定你将你的webapp部署到Jetty,有两种不同的方式设置调试端口:

通过命令行

在命令行中增加要求的参数如下:

$ java -Xdebug -agentlib:jdwp=transport=dt_socket,address=9999,server=y,suspend=n -jar start.jar

通过start.ini

如果你不想记住命令行中的参数,那么这个方法将是最好的。

1)编辑start.ini和非注释的--exec行;

2)增加上面在命令行中使用的参数,然后你的start.ini应该像这样:

#===========================================================
# Configure JVM arguments.
# If JVM args are include in an ini file then --exec is needed
# to start a new JVM from start.jar with the extra args.
# If you wish to avoid an extra JVM running, place JVM args
# on the normal command line and do not use --exec
#-----------------------------------------------------------
--exec
-Xdebug
-agentlib:jdwp=transport=dt_socket,address=9999,server=y,suspend=n
# -Xmx2000m
# -Xmn512m
# -XX:+UseConcMarkSweepGC
# -XX:ParallelCMSThreads=2
# -XX:+CMSClassUnloadingEnabled
# -XX:+UseCMSCompactAtFullCollection
# -XX:CMSInitiatingOccupancyFraction=80
# -verbose:gc
# -XX:+PrintGCDateStamps
# -XX:+PrintGCTimeStamps
# -XX:+PrintGCDetails
# -XX:+PrintTenuringDistribution
# -XX:+PrintCommandLineFlags
# -XX:+DisableExplicitGC

3)启动时你将看到下面的行在控制台打印的顶部。

Listening for transport dt_socket at address: 9999

在Eclipse中调试

由于Jetty能非常容易地嵌入应用程序中,因此在应用程序中创建一个main方法,然后在Eclipse中直接地启动程序,就能更容易地调试你的应用。更详细的信息可以参考嵌入

Jetty开发指导:调试

时间: 2024-10-21 15:36:41

Jetty开发指导:调试的相关文章

Jetty开发指导:Maven和Jetty

使用Maven Apache Maven是一种软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven能从核心信息管理一个项目的构建.报告和文档. 他是用于构建一个web应用项目的理想工具,这些项目能用jetty-maven-plugin轻松的运行web应用,从而节省开发时间.你也能用Maven构建.测试和运行一个嵌入Jetty的项目. 首先我们将看一个很简单嵌入Jetty的HelloWorld Java应用,然后看一个简单的webapp怎么使用jetty-maven-plugin加

Jetty开发指导:嵌入

Jetty嵌入的HelloWorld 这节提供一个指导展示你怎么使用Jetty API快速开发嵌入的代码. 下载Jars Jetty被分解到多个jars和依赖,方便你选择自己需要的最小jar集合.通常使用Maven是最好的,然而这里使用了一个聚集的jar,包含了所有的Jetty类.你能手动的下载聚集的jetty-all jar和servlet api jar,通过使用wget或者类似的命令(例如:curl)或者浏览器.用wget如下: mkdir Demo cd Demo wget -O jet

Jetty开发指导:WebSocket介绍

WebSocket是一个新的基于HTTP的双向通讯的协议. 它是基于低级别的框架协议.使用UTF-8 TEXT或者BINARY格式传递信息. 在WebSocket中的单个信息能够是不论什么长度(然而底层框架有单帧63bits的限制). 发送的信息数量不受限制. 信息被持续的发送,基础协议不支持交叉的信息. 一个WebSocket连接经历一些主要的状态改变: 1)CONNECTING:HTTP升级到WebSocket正在进行中 2)OPEN:HTTP升级成功,而且socket如今打开并准备读/写

Jetty开发指导:框架

Spring设置 你能嵌入Jetty到你的项目中,也能够使用差点儿全部的IoC类型框架,包含Spring.假设全部你想做的是在你的Spring中设置Jetty Server,那么以下的xml片段能够作为一个样例.假设你想使用spring代替jetty-xml也是能够的,但这样将不能利用模块系统的其余部分. Jetty-Spring模块 一个Jetty Spring模块的框架能通过模块机制激活.比如: $ java -jar start.jar --add-to-startd=spring 这(或

Jetty开发指导:Handlers

Rewrite Handler RewriteHandler基于一套规则匹配一个请求,然后根据匹配的规则修改请求.最常见的是重写请求的URI,但是不仅限于此:规则能被配置为重定向响应.设置一个cookie或者响应的响应代码.修改header,等等. 快速开始 标准Jetty发布中包含jetty-rewrite模块JAR,在lib/jetty-rewrite-*.jar,和一个例子配置文件,在etc/jetty-rewrite.xml.为了激活重写模块,用例子配置文件,用如下命令启动Jetty:

Jetty开发指导:HTTP Client

介绍 Jetty HTTP client模块提供易用的API.工具类和一个高性能.异步的实现来运行HTTP和HTTPS请求. Jetty HTTP client模块要求Java版本号1.7或者更高,Java 1.8的应用能用lambda表达式在一些HTTP client API中. Jetty HTTP client被实现和提供一个异步的API.不会由于I/O时间堵塞,因此使它在线程的利用上更有效率,并不是常适合用于负载測试和并行计算. 然而,有时你全部须要做的是对一个资源运行一个GET请求,H

Jetty开发指导:Jetty Websocket API

Jetty WebSocket API使用 Jetty提供了功能更强的WebSocket API,使用一个公共的核心API供WebSockets的服务端和client使用. 他是一个基于WebSocket消息的事件驱动的API. WebSocket事件 每一个WebSocket都能接收多种事件: On Connect Event 表示WebSocket升级成功,WebSocket如今打开. 你将收到一个org.eclipse.jetty.websocket.api.Session对象,相应这个O

如何快速高效地开发和调试基于gradle管理的web应用

本文探讨如何高效快速地开发和调试基于gradle管理的web应用. gradle是新一代应用构建.版本发布管理工具,功能强大而灵活,号称将取代maven的霸主地位,但是目前在开发和调试web应用程序方面还有很多不足,效率低下. 那么我们能不能基于gradle强大而灵活的功能,探寻出一种简单.高效.便捷的方法,以便在调试web应用过程中修改程序无需重启应用服务器和应用呢?答案是肯定的,接下来就给大家分享bboss开发团队在使用gradle开发调试web应用所使用的行之有效的工具和方法. 工具和方法

微信开发本地调试

适用:微信公共平台开发者 目的:在本地服务器实时调试微信,方便微信开发 语言:JAVA 工具:MyEclipse.Jetty.花生壳内网版.微信 过程: 1.http://www.oray.com/activity/131202/ 砸彩蛋,弄一个花生壳网测试版 2.下载花生壳客户端,配置映射,如图 注意:第一次添加映射可能不会即时生效,一般等个30分钟就生效了 3.登陆微信公共平台,把微信绑定在该域名,如图 至此,就可以在本地服务调试程序了,跟普通的java项目调试一样,比微信模拟器好用的多.