首先在 IDEA 中使用 Maven 的插件中的 Lifecycle 进行 compile 指令,发现报错:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project ssm-utils: Fatal error compiling
然后命令行运行 mvn compile
得到更详细的报错信息如下
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project ssm-utils: Fatal error compiling: 错误: 无效的目标发行版:1.11
回到 pom.xml 的文件中查看配置:
<!-- 指定编码及版本 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>1.11</java.version>
<maven.compiler.source>1.11</maven.compiler.source>
<maven.compiler.target>1.11</maven.compiler.target>
<spring.version>5.1.5.RELEASE</spring.version>
<springmvc.version>5.1.5.RELEASE</springmvc.version>
<mybatis.version>3.5.1</mybatis.version>
</properties>
发现 <maven.compiler.source>
和 <maven.compiler.target>
的版本号不对,应该为 11;而且 Java 8 到 13 的版本号填写方式为 1.8, 1.9, 1.10, 10, 11, 12, 13
。
因此修改配置:
<!-- 指定编码及版本 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>1.11</java.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<spring.version>5.1.5.RELEASE</spring.version>
<springmvc.version>5.1.5.RELEASE</springmvc.version>
<mybatis.version>3.5.1</mybatis.version>
</properties>
然后运行 mvn compile
成功编译。
或者在 pom.xml
的 project 标签内的最后加上:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>11</source>
<target>11</target>
<encoding>${maven.compiler.encoding}</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
这样也可以保证 Maven 插件的编译的 JDK 版本号正确。