有什么方法可以使用 java 7 语法并生成适用于 1.5 的字节码?据我所知,选项-target
并-source
不能有所不同。检查是否没有使用新的 API 也很好,但并不重要
问问题
313 次
4 回答
2
不它不是。据我所知,不同-source
且-target
有效,但前提是源低于或等于目标(以提供向后兼容性)。可能有源代码转换器可以将您的 java 7 代码转换为旧版本。
于 2012-10-01T14:46:11.440 回答
1
有一个名为Retroweaver的项目,它允许您编写 Java 5 语法(包括泛型等)并将其转换为在 Java 1.4 和更早版本上运行的代码。
据我所知,没有类似的东西可以让 Java 7 语法的代码在旧版本上运行。
于 2012-10-01T14:47:47.997 回答
0
不,这是不可能的。例如,考虑新的 try-with-resources 构造:这可能会设置抑制的 throwable,但此 API 仅在 Java SE 7+ 中可用:
http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#getSuppressed%28%29
这意味着旧的 Java 版本无论如何都无法运行该代码。
于 2012-10-01T14:54:40.793 回答
0
不,如果您使用 Java7 语法,则无法使用 Java 5 编译该代码。
-source
并且-target
仅当语法与 -target 版本兼容时才有效。
于 2012-10-01T14:46:22.710 回答