需要 Java 8 才能使用 Maven 构建 Scala 项目

Require Java 8 to build Scala project using Maven

我正在 scala-maven-plugin 使用 Maven 构建 Scala 项目。我的项目依赖于 Java 8 中的一些库。我想在我的 pom 中指定该项目需要 Java 8(使用类似于 -target=jdk-1.8 的东西,这似乎不存在)所以当有人尝试使用 Java 版本 < 8 进行编译时,它会失败更多一点 elegantly/informatively。目前它只是找不到我要导入的包。

我尝试添加 maven-compiler-plugin 并将 sourcetarget 设置为 1.8,但这没有用,大概是因为 scala-maven-plugin 正在处理编译而不是 maven-compiler-plugin.

这可能吗?

您可以使用 Maven Enforcer Plugin 在 运行 您的 Maven 构建时强制执行一些规则。

这里要确保使用的Java版本至少是8。您可以通过将以下内容添加到 pom.xml 文件来实现此目的:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-enforcer-plugin</artifactId>
      <version>1.4</version>
      <executions>
        <execution>
          <id>enforce-java</id>
          <goals>
            <goal>enforce</goal>
          </goals>
          <configuration>
            <rules>
              <requireJavaVersion>
                <version>[1.8,)</version>
              </requireJavaVersion>
            </rules>    
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>