“-source 7 不支持静态接口方法调用”尽管使用 1.8

问题描述

这是完整的错误消息:

"-source 7 不支持静态接口方法调用 (使用 -source 8 或更高版本来启用静态接口方法调用"

这是课程:

public class UserVerticle extends AbstractVerticle {

    @Override
    public void start() {
        Router router=Router.router(vertx);//IDE shows error message here
    }

    @Override
    public void stop() {
    }
}

以下是项目属性

enter image description here

这些是我的依赖项:

        <groupId>io.vertx</groupId>
        <artifactId>vertx-core</artifactId>
        <version>4.0.0</version>

还有:

        <groupId>io.vertx</groupId>
        <artifactId>vertx-web</artifactId>
        <version>3.4.1</version>

编辑

我在 pom.xml 中将 javaee-web-api 版本更改为 8(它是 7),使用依赖项构建,但仍然出现相同的错误

Edit2

我在 pom.xml 中将 vertx-web 版本更改为 4.0.0,使用依赖项构建,但仍然出现相同的错误

解决方法

原来我应该在 maven-compiler-plugin 中选择 source 8,这完全解决了问题:

 <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <compilerArguments>
                    <endorseddirs>${endorsed.dir}</endorseddirs>
                </compilerArguments>
            </configuration>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...