java8编译的jar文件可以在java7上运行吗?

时间:2017-09-07 11:14:29

标签: java

我有一个jar文件,其中一些功能只属于java 8(对于ex lambda表达式),因此它在java 8中编译。同一个jar有一些属于java 7java 8的功能。现在我希望当用户在java 7中运行此jar时,java 7相关的类应该可以工作,因为他/她只需要仅在java 7上运行的功能。如果他/她想要与java 8相关的功能,他将使用java 8运行它。

这个java 8编译的jar不应该给出错误#34; 仅在源级别1.8或以上"允许使用Lambda表达式。我并不想为java 8java 7用户创建单独的广告。

1 个答案:

答案 0 :(得分:2)

不幸的是,多版本jar不允许这样,它们是Java 9中的一个新功能,但是多版本的jar不会回到java 7,但是它们将适用于未来的Java版本。

Multi-release Jars