java - 如何调试 web 应用程序中的 jar

标签 java apache-flex

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

最佳答案

从概念上来说,调试位于 jar 中并由 war 加载的源代码并没有什么特别之处。使用 IDE 应该可以轻松完成。

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

您的项目甚至不必包含所有源代码 - 拥有相关源代码就足够了,并且您将能够远程调试代码。

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

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

当将此选项提供给 java 编译器时,使其编译不包含调试信息的字节代码。这样你可以获得更优化的类,但无法调试它。例如,默认情况下,JRE 附带的类(java.lang..java.util. 等)都是以这种方式编译的。

希望这有帮助

关于java - 如何调试 web 应用程序中的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12576352/

相关文章:

java - 将 C 语言转换为 Java 语言

java - 使用从 Activity 扩展的另一个类中的方法

java - JAXB 将 XML 片段映射为另一个 XML 文档中的片段

android - 在 Android 4.0.x Ice Cream Sandwich 中,WebView 不会在应用启动时呈现本地 HTML 页面

android - 在 flex 中以编程方式获取 SIM 号码

c# - 从 Flex (XMLSocket) 连接到 .NET (Socket) 的数据问题

apache-flex - 无法使用 DateTimeFormatter 格式化毫秒

java - 使用不同的键盘输入

Java LocalDate 不接受所有 EpochDay 字段有效值

apache-flex - 使用 BlazeDS 将 Flex 应用程序连接到 Tomcat + Spring 3.0 Framework