在接口中使用静态方法的 Scala 代码给出错误 Static methods in interface require -target:jvm-1.8

Scala code using static method in interface gives error Static methods in interface require -target:jvm-1.8

我有一个使用 java 库 cron-utils 的代码,它在接口中使用静态方法(尽管我在下面的 pom 中将目标和源设置为 1.8) 并在编译期间抛出此错误

Static methods in interface require -target:jvm-1.8 对于使用来自接口的静态方法的部分 ExecutionTime.forCron(cron)

这是在接口中定义静态方法的库中的代码

public interface ExecutionTime {

    /**
     * Creates execution time for given Cron.
     *
     * @param cron - Cron instance
     * @return ExecutionTime instance
     */
    public static ExecutionTime forCron(final Cron cron) 

我在代码中这样使用过

def getInterval(schedule: String): Long = {
  val parser = new CronParser(CronDefinitionBuilder.instanceDefinitionFor(CronType.UNIX))
  val cron = parser.parse(schedule)
  val currDateTime = ZonedDateTime.parse(ZonedDateTime.now().toString)
  val next = ExecutionTime.forCron(cron).nextExecution(currDateTime).get().toInstant
  val prev = ExecutionTime.forCron(cron).lastExecution(currDateTime).get().toInstant
  Duration.between(prev, next).toMillis
}

我已经在 pom

中将 Java 1.8 设置为源和目标
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.5.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <compilerArgs>
            <recompileMode>incremental</recompileMode>
            <args>conf:cat=other-match-analysis:error</args>
        </compilerArgs>
    </configuration>
    <executions>
        <execution>
            <phase>compile</phase>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

我有这样的 scala 插件

<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>scala-maven-plugin</artifactId>
    <version>4.5.6</version>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

仍然会抛出相同的错误 static methods in interface require -target:jvm-1.8

我尝试使用旧版本的库,这给了我更多不可避免的错误。

任何关于我如何将目标设置为 java 1.8 的帮助,我将不胜感激

我创建了一个 Java class 并使用了 CronUtils 库,然后在 scala

中使用了 Java class
import com.cronutils.model.Cron;
import com.cronutils.model.CronType;
import com.cronutils.model.definition.CronDefinitionBuilder;
import com.cronutils.model.time.ExecutionTime;
import com.cronutils.parser.CronParser;

import java.time.Duration;
import java.time.Instant;
import java.time.ZonedDateTime;

public class CronUtil  {
    public Long getInterval(String schedule ) {
        CronParser parser = new CronParser(CronDefinitionBuilder.instanceDefinitionFor(CronType.UNIX));
        Cron cron = parser.parse(schedule);
        ZonedDateTime currDateTime = ZonedDateTime.parse(ZonedDateTime.now().toString());
        Instant next = ExecutionTime.forCron(cron).nextExecution(currDateTime).get().toInstant();
        Instant prev = ExecutionTime.forCron(cron).lastExecution(currDateTime).get().toInstant();
        return Duration.between(prev, next).toMillis();
    }
}  

终于在scala中使用了,没有任何错误

val interval = new CronUtil().getInterval(schedule)