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