如何在Java 6中使用为Java 7编译的库?

RAS*_*RAS 5 java compilation java-6 java-7

我正在开发一个Java应用程序,我需要使用一个名为的jar myBeans.jar.

myBeans.jar包含许多使用jdk 1.7编译的类文件.我没有这些类文件的源代码.

我的整个应用程序使用的是jdk 1.6.我无法将其编译器更改为jdk 1.7.所以我希望我的jar与我的应用程序兼容.这就是为什么我希望用jdk 1.6编译jar的类.

现在我的问题是:有没有办法使用jdk 1.6编译类文件(而不是java文件)?

任何其他建议也欢迎.

有人建议我使用反编译器从类文件中获取源代码,然后使用jdk 1.6编译源代码.但是我最后会喜欢这个解决方案,因为有很多类文件.

Dun*_*nes 3

这可能行不通。Java 7 引入了早期版本中不存在的语言功能,因此如果库中使用了其中任何功能,您可能无法使用 JDK 6 重新编译。

此外,每个 Java 修订版都会引入新的方法和类,因此如果@since 1.7库中使用了任何项目,它们将不会出现在您的 Java 6 环境中,并且构建将会失败。