Java 如何调试webapp中的jar

Java 如何调试webapp中的jar,java,apache-flex,Java,Apache Flex,我有一个使用AdobeBlazeDS jar的Web应用程序,即flex-messaging-core.jar。我想介绍一下这个jar中包含的方法(AMFConnection.java)。我从源代码重新编译这个运行ant脚本的jar,并将其放在WEB-INF\lib文件夹中。调试这个jar最简单的方法是什么 从概念上讲,调试驻留在jar中并由war加载的源代码没有什么特别之处。使用IDE应该很容易做到这一点 唯一的要求是IDE将在项目中配置相应的源文件 你的项目甚至不需要包含所有的源代码——只要

我有一个使用AdobeBlazeDS jar的Web应用程序,即flex-messaging-core.jar。我想介绍一下这个jar中包含的方法(AMFConnection.java)。我从源代码重新编译这个运行ant脚本的jar,并将其放在WEB-INF\lib文件夹中。调试这个jar最简单的方法是什么

从概念上讲,调试驻留在jar中并由war加载的源代码没有什么特别之处。使用IDE应该很容易做到这一点

唯一的要求是IDE将在项目中配置相应的源文件

你的项目甚至不需要包含所有的源代码——只要有相关的源代码,你就可以远程调试你的代码

就应用程序服务器/web服务器/任何容器而言,它归结为在调试模式下运行应用程序。从技术上讲,您向JVM提供了一些参数,并且JVM可以运行,以便启用来自您喜爱的调试器的连接—实际上非常灵活

您应该确保的唯一一件事(至少我会看一下ant脚本:)-您不会使用“-d”选项编译源代码

当给java编译器这个选项时,它将编译不包含调试信息的字节码。这样可以得到更优化的类,但无法调试它。例如,默认情况下,JRE附带的类(java.lang..java.util.,等等)是这样编译的


希望这对您有所帮助

Flex Builder应该为您提供调试选项。您使用什么工具进行调试?例如,对于Eclipse,您必须确保Eclipse能够访问jar的源代码。然后您可以添加断点。@AmitD,这是eclipse,正在为blazeds尝试纯java客户端。您应该按照中的说明进行远程调试-通常我调试第三方类的方法是编译它。将它放在WEB-INF/classes目录中,并调试修改后的类。这样我就不用调试整个jar,只调试类。