【发布时间】:2016-12-21 11:25:33
【问题描述】:
我有一个由客户使用 Java 7 运行时运行的项目。
我在针对 Java 8 编译的工件中添加了一个依赖项 - 使用 Java 8 功能,如 lambda 和流。
编译我的项目时,我没有收到任何错误提示。
但在运行时,我收到一堆错误,显然无法识别内容。
有没有办法保护我的项目不使用依赖于更高级别 Java 的工件?谢谢。
* 对于依赖于某些低级 Java API 的工件的一般问题,该 API 试图添加对另一个依赖于更高级别 Java 的工件的依赖。
* 我猜这是因为 Java 不是显式依赖定义的一部分,而是隐含的。问题是如何使其更加明确和受保护。
【问题讨论】:
-
我认为没有通用的解决方案。我能想到的是将 POM 中的依赖定义修复为最后一个已知的工作版本。您是否将 POM 配置为使用 PC 上安装的真正 Java7 编译器来编译您的项目?
标签: java maven java-8 maven-3 java-7