【问题标题】:Upgrading from Java 1.4 to JAVA 6 SE从 Java 1.4 升级到 JAVA 6 SE
【发布时间】:2013-04-02 12:29:22
【问题描述】:

我目前正在从 JAVA 1.4 升级到 JAVA 6 SE。一些方法和类要么已被弃用,要么由于低效的做法而出现大量警告。我想知道我是否可以在不更改代码的情况下进行升级,并在更改后进行远程调试以修复错误。如果有更简单或更有效的方法,请分享。

【问题讨论】:

  • 理论上,Java 总是向后兼容的。你会有很多警告(例如缺少泛型),但代码应该运行
  • 为什么要升级到今年年底将不再支持的 Java 6?如果您升级,您应该直接升级到 Java 7。
  • @a_horse_with_no_name - 好点(+1)。但有时最好不要一次尝试做太多事情。
  • @StephenC:鉴于该论点,他/她应该升级到 1.5。今天进行如此大规模的迁移时,甚至不应该考虑使用 Java 6(除非某些第三方软件绝对需要它)。

标签: java upgrade


【解决方案1】:

通常的做法是:

  • 通过新的编译器运行您的代码
  • 修复任何编译错误(在极少数情况下可能会发生,例如当您使用单词 enum 作为标识符时,这是 Java 1.5 及更高版本的关键字)
  • 执行完整的 QA 周期以验证您的应用程序是否仍能正常运行

除此之外,您应该考虑升级到 Java 7 - Java 6 也已经在其end-of-life phase 中。

【讨论】:

    【解决方案2】:

    我想知道是否可以在不更改代码的情况下进行升级,并在更改后远程调试以修复错误。

    我们不能给你一个明确的是或否。

    首先,应该注意的是,大多数弃用和警告一开始都可以忽略。 (有些人告诉你应该尽快修复的事情,但最糟糕/危险的 API 的最令人震惊的例子早在 Java 1.4 之前就已被弃用)

    所以我们不能给你一个明确的答案的一个原因是我们不知道你看到了什么警告(呃!)。

    另一个原因是我们不知道您的测试套件有多好/多广泛。如果你有一个好的测试套件,那么任何问题都会被解决。如果不是这样,或者如果您依赖手动测试,那么您发现升级导致的任何问题的机会就会大大降低。


    另外需要注意的是,每个主要 Java 版本的文档都包含有关新版本与前一个版本之间不兼容性的部分。最好至少浏览一下这些文档,看看是否有任何突出显示的问题可能会影响您的应用程序。


    最后,大多数人发现升级不会导致大量问题。当然也有例外。而且,如果您习惯于依赖实现特定的行为而不是 javadocs 所说的内容,那可能会导致痛苦。

    【讨论】:

      【解决方案3】:

      基本上,您可以在 Java 6 虚拟机上运行 Java 1.4 代码无需修改。可能已经引入了新的 API,有效地弃用了旧的 API。通常,已弃用 API 的 Javadoc 应该为您提供一个指针,您应该改用什么。

      【讨论】:

        猜你喜欢
        • 2012-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多