【问题标题】:Easy way to backport Java 6 code to Java 5?将 Java 6 代码反向移植到 Java 5 的简单方法?
【发布时间】:2008-08-20 13:50:38
【问题描述】:

我们已经使用 Java 开发基于 Windows 的应用程序已有一段时间了,但是现在我们想要制作一个 mac 端口并且必须从 Java 6 和 Java 5 反转代码。有没有更简单的方法来做到这一点?而不是重新编码 Java 6 特定代码?我们希望使我们的代码保持最新。

【问题讨论】:

    标签: java backport


    【解决方案1】:

    有几个库可以帮助您。不幸的是,我自己没有尝试过,因为我从来没有遇到过这样的情况。

    【讨论】:

      【解决方案2】:

      看这里:

      http://en.wikipedia.org/wiki/Comparison_of_backporting_tools

      我尝试了从 1.6 到 1.4.2 的逆向翻译,效果很好!

      【讨论】:

        【解决方案3】:

        Apple 在最新版本的 OS X 上发布了 Java 6。您专门使用了 Java6 中没有在 java5 中的哪些功能?

        【讨论】:

        • 是的,我们已经使用 leopard 使用 Java6 有一段时间了,这不是默认设置。
        • 如果它是一个小程序,java 6 不是一个选项。也许当雪豹发布时(safari 将是 64 位)
        【解决方案4】:

        根据我的经验,这很容易,以至于抱怨比做需要更多的时间。 1.6 中很少有东西不能用一分钟左右(字面意思)的工作进行反向移植。当您使用 1.5 进行尝试时,您看到了多少编译错误,为什么?

        请记住,对于 1.6 (SwingWorker) 中有用的少数东西,有现成的、与 API 兼容、占用空间小的反向移植。

        【讨论】:

          【解决方案5】:

          您知道如果您刚刚回到 Java 5 需要重写多少代码吗?如果您更改 IDE 中的 JDK 设置并尝试重新编译它,您应该可以很好地了解实际更改的大小。对于大多数开发人员来说,Java 6 并没有真正提供太多的新功能/API,但我想您的项目可能在很大程度上依赖于添加的东西。

          【讨论】:

          • Java SE 6 中没有引入语言更改,因此目标和源选项(几乎)无效
          • 我们主要使用 Java 6 作为系统托盘。其余的都可以用库来修复...
          • 实际上在 Java SE 6 中有一个(某种)语言变化:@Override 可用于接口实现。
          【解决方案6】:

          还有适用于 Mac OS X 的 Java 8。新版本的 Java 将兼容,如 Java 8 与 Java 5 代码兼容,因此 Java 6 代码也兼容。

          【讨论】:

            【解决方案7】:

            您也许可以将额外的库从 Java 6 反向移植到 Java 5,但我想这样做会更麻烦。运行 Leopard 的带有 64 位处理器(所以不是最初的 Intel Mac Mini)的 Intel Mac 具有 Java 6,所以也许您可以只针对它们?

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-08-30
              • 1970-01-01
              • 1970-01-01
              • 2014-03-06
              • 2012-06-18
              • 2013-11-25
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多