1 快速解决【单项目】
本方法只适用于单个项目,新建项目使用maven还会出现问题。
在pom.xml配置:
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
2 全项目解决
修改 maven的安装目录/conf/settings.xml:
这里使用jdk 1.8举例:
<profile>
<id>JDK-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
效果如下:
3 再次修改单个项目
在修改maven的配置文件后,默认的maven项目都是1.8
有些项目如果想使用其它版本如11、17是做不到。
比如在idea中修改模块的语言级别,会提示重新导入maven会失效:
刷新maven后,果不其然又回到1.8了:
此时需要配置pml.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<source>11</source>
<target>11</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
注意:此时使用第一种办法是无效的!IDEA的模块界面的语言级别并不会变!
就算使用第一种方法的代码,也需要配合上述代码:
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>11</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
</build>
修改pom.xml,重新刷新maven,可以发现语言级别也变了: