有没有办法使用Java 7语法并生成适用于1.5版本的字节码?据我所知,选项-target
和-source
不能不同。检查是否使用了新的API也很好,但不是必须的。
有没有办法使用Java 7语法并生成适用于1.5版本的字节码?据我所知,选项-target
和-source
不能不同。检查是否使用了新的API也很好,但不是必须的。
-source
和-target
可以工作,但仅当源代码低于或等于目标版本时才行(为了提供向后兼容性)。可能存在将您的Java 7代码转换为旧版本的源代码转换器。有一个名为Retroweaver的项目,它允许您编写Java 5语法(包括泛型等),并将其转换为在Java 1.4及更早版本上运行的代码。
据我所知,目前还没有类似的工具可以使使用Java 7语法编写的代码在旧版本上运行。
不,如果您使用Java7语法,则无法使用Java 5编译该代码。
-source
和-target
仅在语法与目标版本兼容时才起作用。
http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#getSuppressed%28%29
这意味着旧版本的Java无论如何都无法运行该代码。