3

我有一个基于 JBoss 的分布式应用程序,它在使用 Java 1.6 编译和运行时会出现错误行为。当使用 Java 1.5 编译并使用 Java 1.6 运行时,它显示了另一个错误。但它在使用 Java 1.5 编译和运行时工作正常。调试此应用程序的最佳方法是什么?是否有用于 Java 1.5 到 1.6 转换的 lint?

当然,行为也取决于我使用的第三方库。我正在使用 JBoss 4.0.3(以及其他几个库!),我知道这是一个相当旧的版本。在继续升级 JBoss 版本之前,我想确保问题与我的代码无关。

4

2 回答 2

1

首先,请确保您运行的是最新版本的 Java 6。如果您使用 Sun Java,那么更新 10 改变了很多东西,并且在接下来的版本中还有一些小问题正在纠正。

其次与 JBoss 确认您的版本与 Java 6 兼容。

如果这还不够,您将不得不将差异视为错误,并一一解决。至少您可以并行运行两个会话——一个使用 Java 6,一个使用 Java 5——这样你就可以看到预期的行为是什么。

于 2010-01-18T07:39:00.087 回答
1

根据应用程序的大小及其对第三方库的调用的复杂性,您可以这样做。编写实际返回由第三方库调用返回的值的模拟方法,并使用两个 Java 版本编译/运行它。通过这种方式,您可以确定您的代码没有做错任何事情。我知道这是最痛苦的方式:)。但是,如果您已经为此应用程序进行了单元测试,您可能只需要围绕它进行一些小的更改。

于 2010-01-18T06:04:54.480 回答