我有一个jar文件,其中一些功能只属于java 8
(对于ex lambda表达式),因此它在java 8
中编译。同一个jar有一些属于java 7
和java 8
的功能。现在我希望当用户在java 7
中运行此jar时,java 7
相关的类应该可以工作,因为他/她只需要仅在java 7
上运行的功能。如果他/她想要与java 8相关的功能,他将使用java 8
运行它。
这个java 8
编译的jar不应该给出错误#34; 仅在源级别1.8或以上"允许使用Lambda表达式。我并不想为java 8
和java 7
用户创建单独的广告。
答案 0 :(得分:2)
不幸的是,多版本jar不允许这样,它们是Java 9中的一个新功能,但是多版本的jar不会回到java 7,但是它们将适用于未来的Java版本。