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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java 6中使用为Java 7编译的库?相关的知识,希望对你有一定的参考价值。

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

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

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

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

任何其他建议也欢迎。

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

答案

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

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

以上是关于如何在Java 6中使用为Java 7编译的库?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Roslyn 编译器服务

在 Java 6 中使用 Java 7 SDK 功能

在 Tomcat 6-Java 7/8 中运行 Tomcat 6-Java 6 WebApps

内存模型

内存模型

如何使用eclipse新建并编译,运行Java程序