通常都是接口名直接点静态方法名,但是今天运行代码报错!
1、自定义接口:
public interface MyInterface {
static void getmessage() {
System.out.println("静态方法已启动");
}
}
2、调用接口中的静态方法
object run {
def main(args: Array[String]): Unit = {
MyInterface.getmessage()
}
}
3、报错
Static methods in interface require -target:jvm-1.8
MyInterface.getmessage()
4、解决办法
修改scala编译插件的配置:
添加:
-target:jvm-1.8
<!-- Scala Compiler -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
<configuration>
<addScalacArgs>-target:jvm-1.8</addScalacArgs>
</configuration>
</execution>
</executions>
<configuration>
<!--scalaCompatVersion和scalaVersion需要一样-->
<scalaCompatVersion>${scala.binary.version}</scalaCompatVersion>
<scalaVersion>${scala.binary.version}</scalaVersion>
<args>
<arg>-nobootcp</arg>
</args>
</configuration>
</plugin>