问题描述:

使用MyBatis Plus 3.2.0版本插件代码生成器生成实体类后,对于数据库中字段类型datetime的字段会转变为LocalDateTime类型,IDEA提示报错"Usage of API documented as @since 1.8+ more..."

解决方法:

出现该问题的原因是由于使用了JAVA8的新特性,但是Language Level(最低可支持的版本)比较低,无法支持这些特性。比如设置的Language Level为5.0,可是却使用了8.0/9.0的新特性,5.0无法解析这些特性,对我们的代码进行编译,以及错误检查,因此IDE会报错来提醒我们。

如果对最低支持版本有要求,没办法改动的话,那就只能放弃使用报错部分的代码。
如果对支持版本没有要求的话,可以改动IDE中该代码所在项目工程的Language Level来消除错误。

根据路径File-->Project Structure-->Project Settings,找到下面的打开页面,选中侧边栏的Modules,在Sources窗口中修改Language Level(必须大于等于报错信息给出的level)。改动后,IDE错误消失。

 

上面的这个方法使用于个人开发,下面的这个适用于团队开发

如果没有按照上面这个方法进行设置,IDEA默认会将该Module的Language Level设置为5,代码中出现了LocalDateTime就会报错。对此我们也可以采用下面的这种方式在pom.xml中指定JDK的编译版本,可以看到当我们在pom.xml中指定了JDK编译版本后,重新导入一下pom.xml,该Module的Language Level设置会自动变为8。至此,IDEA错误消失。

<!--使用maven插件手动指定jdk的源发行版本和目标发行版本-->
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.0</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>


更多推荐

使用MyBatis Plus 3.2.0版本插件代码生成器生成实体类后,对于数据库中字段类型datetime的字段会转变为LocalDateTime类型