【问题标题】:Can a java8 compiled jar file run on java7? [duplicate]java 8编译的jar文件可以在java 7上运行吗? [复制]
【发布时间】:2017-09-07 11:14:29
【问题描述】:

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

这个java 8 编译的 jar 不应给出“Lambda 表达式只允许在源级别 1.8 或更高版本”的错误。而且我不想为java 8java 7 用户创建单独的罐子。

【问题讨论】:

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

标签: java


【解决方案1】:

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

Multi-release Jars

【讨论】:

    猜你喜欢
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    相关资源
    最近更新 更多