强制信号量使用 Java 8

Force semaphore to use Java 8

我有一个 sbt 项目需要 Java 8 到 运行。但是 SemaphoreCI 将其 运行 保留在 Java 7 中并且它失败了:

[error] java.lang.UnsupportedClassVersionError: com/typesafe/config/ConfigException : Unsupported major.minor version 52.0

我用过这个但没有帮助:

javacOptions ++= Seq("-source", "1.7", "-target", "1.7")

如何强制 Semaphore 使用 Java 8?

Semaphore Java documentation 告诉你如何做到这一点:

Switching between Java versions is done by adding the following command to your build commands:

change-java-version <version>

Valid values for <version> are 1.7 or 7 for OpenJDK 7 and 1.8 or 8 for Oracle JDK 8.

因此您需要 运行 change-java-version 8change-java-version 1.8。该文档还提供了有关如何在脚本中执行此操作的详细信息。