I have an old jar file with my library which use jdk 1.7.0_03. But on my new computer I did't have applicable version of jdk. My current version is 1.6. Is it possible to downgrade version of jar file (1.7 -> 1.6) without project source files so that my jar file could run on java 1.6?
问问题
3037 次
4 回答
1
You can't possibly downgrade a .jar file since it contains compiled code. If that code uses 1.7 features you are stuck. You can try running it on 1.6 though. If you have luck it will work.
于 2013-11-19T13:15:17.530 回答
1
您可以尝试使用“jar”CLI 工具解压 jar 文件并更改 Manifest 文件中的版本。然后你需要重新打包文件。这曾经对我有用过一个 OSGi Bundle。
于 2013-11-19T13:20:50.567 回答
0
是否可以降级jar文件的版本
不,您需要重新编译 JAR
没有项目源文件
您需要重新编译源文件。你可以反编译类文件,但这并不容易
于 2013-11-19T13:16:09.330 回答
0
您正在寻找的是一个字节码反向移植工具。虽然存在这样的工具,但没有一个 (AFAIK) 可以将 Java 7 字节码转换为 Java 6 或更早版本。
顺便说一句,使用jar
命令替换清单将无济于事。Java 类文件格式是版本化的,版本号在 1.6 和 1.7 之间变化。无论 JAR 清单如何,Java 6 JVM 都无法处理 Java 1.7(或更高版本)类文件。
于 2013-11-19T14:08:33.327 回答