如何在没有项目的情况下降级jar文件的版本?

时间:2013-11-19 13:11:28

标签: java jar downgrade

我的库中有一个旧的jar文件,它使用的是jdk 1.7.0_03。但在我的新电脑上,我没有适用的jdk版本。我目前的版本是1.6。是否可以在没有项目源文件的情况下降级jar文件版本(1.7 - > 1.6),以便我的jar文件可以在java 1.6上运行?

4 个答案:

答案 0 :(得分:1)

您不可能降级.jar文件,因为它包含已编译的代码。如果该代码使用1.7功能,则会被卡住。你可以尝试在1.6上运行它。如果运气好的话会有效。

答案 1 :(得分:1)

您可以尝试使用“jar”CLI工具解压缩jar文件,并更改Manifest文件中的Version。 然后,您需要再次重新包装该文件。 这对我有一次OSGi Bundle。

答案 2 :(得分:0)

  

是否可以降级jar文件的版本

没有。你需要重新编译JAR

  

没有项目源文件

您需要重新编译源文件。你可以反编译类文件,但这并不容易

答案 3 :(得分:0)

您要找的是bytecode backporting tool。虽然存在这样的工具,但没有一个(AFAIK)将Java 7字节码转换为Java 6或更早版本。

顺便说一句,使用jar命令替换清单将无济于事。 Java类文件格式已版本化,版本号在1.6和1.7之间更改。无论JAR清单如何,Java 6 JVM都无法处理Java 1.7(或更高版本)类文件。