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

java8编译的jar文件可以在java7上运行吗?,java,Java,我有一个jar文件,其中一些特性只属于java8(对于ex-lambda表达式),因此它是在java8中编译的。同一个jar具有一些属于Java7和Java8的特性。现在,我希望当用户在java7中运行这个jar时,java7相关类应该可以工作,因为他/她只需要在java7上工作的功能。如果他/她想要与java 8相关的功能,他/她将使用java 8运行它 这个java8编译的jar不应该给出“Lambda表达式只允许在源代码级别1.8或更高版本”的错误。我不想为Java8和Java7用户创建单

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


这个
java8
编译的jar不应该给出“Lambda表达式只允许在源代码级别1.8或更高版本”的错误。我不想为
Java8
Java7
用户创建单独的JAR。

不幸的是,多版本JAR不允许这样做,它们是Java9中的一个新特性,但多版本JAR不会回到Java7,但它们将适用于未来的java版本


不,您必须创建两个JAR,一个用于java8,另一个用于java7运行时。。。请检查-source,-target javac选项