这是我的情况,我有一个Java项目以及一些单元测试。

我的单元测试要求Java 1.8,因为它们使用的是Stream和Arguments.of

我的Java源代码需要使用Java 1.7构建,因为它们要在Matlab中导入-不幸的是Matlab无法理解Java 1.8

我有解决方案使两者一起工作吗?

最佳答案

您应该能够使用JDK 8构建项目并设置不同的兼容性级别。根据The Java Plugin > Other convention properties,您可以尝试在build.gradle中添加以下内容:

plugins {
  id 'java'
}

compileJava {
  sourceCompatibility = JavaVersion.VERSION_1_7
  targetCompatibility = JavaVersion.VERSION_1_7
}

compileTestJava {
  sourceCompatibility = JavaVersion.VERSION_1_8
  targetCompatibility = JavaVersion.VERSION_1_8
}

Java努力保持向后兼容性。只要您不会遇到JDK 8中已修复但仍存在于JDK 7中的错误,就可以了。

08-27 18:53
查看更多