-3

我有与 Java 1.5 及更高版本对应的类。它是在 Java 1.7 中编译的。
现在事实证明我必须在 Java 1.3 上启动它。
如何解决这个问题?

4

4 回答 4

0

如果您有源文件,我会尝试将其编译为您需要的版本。如果这不起作用,您需要“摆脱”不受支持的东西(例如泛型)

如果你没有源文件,我会尝试反编译它并在你需要的版本中编译它。

Stackoverflow 关于反编译的回答

于 2013-08-12T10:17:34.230 回答
0

您在 1.5 中编码并在 Java 1.7(Java 7)中编译。如果你想在 Java 1.3 中运行这个,那么你需要确定你在代码中使用的 API。在 Java 1.3 中应该支持的代码中使用的 API。

例子:-

让我们举个例子。如果您在代码中使用泛型。但正如我们所知,java 1.3 不支持泛型。所以这段代码不能在 Java 1.3 上运行。您需要删除并寻找替代方案。

于 2013-08-12T10:17:57.027 回答
0

好的,我是这样解决的(非常原始):

我使用 编译它javac,然后在 Hex Editor 中打开它,更改了 8 个字节2F,保存并可以正常工作!

于 2013-08-12T12:00:36.167 回答
0

有几点需要考虑:

  • 类格式(即使使用 1.7 编译器,您也可以将目标类格式设置为 1.3)
  • API 更改
  • 不得使用泛型
于 2013-08-12T10:20:17.347 回答