5

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

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

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

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

也欢迎任何替代建议。

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

4

1 回答 1

3

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

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

于 2013-07-04T09:44:40.473 回答