我有一个基于JBoss的分布式应用程序,它在使用Java 1.6编译和运行时显示出错误的行为。它显示了使用Java 1.5编译并使用Java 1.6运行时的另一个错误。但是在使用Java 1.5编译和运行时它可以正常工作。调试此应用程序的最佳方法是什么?是否有Java 1.5到1.6转换的lint?
当然,这种行为还取决于我使用的第三方库。我正在使用JBoss 4.0.3(以及其他几个库!),我理解这是一个非常古老的版本。在我继续升级JBoss版本之前,我想确保该问题与我的代码无关。
答案 0 :(得分:1)
根据应用程序的大小和对第三方库调用的复杂程度,您可以执行此操作。 编写模拟方法,实际返回第三方库调用返回的值,并使用两个Java版本编译/运行它。通过这种方式,您可以确保您的代码没有做错任何事情。我知道这是最痛苦的方式:)。但是,如果您已经为此应用程序进行了单元测试,则可能只需对其进行少量更改。
答案 1 :(得分:1)
首先,确保您使用最新版本的Java 6.如果您使用Sun Java,那么更新10会改变很多东西,并且在以下版本中仍然会纠正一些小问题。
其次验证JBoss您的版本是否与Java 6兼容。
如果这还不够,你将不得不将这些差异视为错误,并逐一弄清楚。至少你可以并行运行两个会话 - 一个用Java 6,一个用Java 5 - 所以你可以看到期望的行为是什么。