当我们使用maven package
命令进行打包操作时,有时候可能会遇到以下错误提示:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:3.2.0:jar (default-jar) on project demo:
Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:3.2.0:jar failed:
An API incompatibility was encountered while executing org.apache.maven.plugins:maven-jar-plugin:3.2.0:jar:
java.lang.UnsupportedClassVersionError: org/apache/maven/plugins/jar/JarMojo has been compiled by a more recent version of the Java Runtime (class file version 55.0),
this version of the Java Runtime only recognizes class file versions up to 52.0
这个错误的原因是我们使用的Java版本低于编译该项目所需要的Java版本,解决方法有以下两种:
解决方法一
我们可以根据错误提示找到maven-jar-plugin
插件的版本号,然后在pom.xml
文件中将该插件的版本号修改为低于我们当前Java版本的版本号即可。
示例:
如果我们当前使用的Java版本是JDK 8,那么我们可以将maven-jar-plugin
的版本号修改为3.1.2
,即:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</build>
修改之后,重新执行maven package
命令即可。
解决方法二
如果不想修改maven-jar-plugin
插件的版本号,我们也可以直接升级Java版本,使其与项目最低要求的Java版本相符。
示例:
我们可以修改pom.xml
文件中的maven-compiler-plugin
插件配置,将<source>
和<target>
值修改为我们想要使用的Java版本即可。
如果我们想要使用JDK 11进行编译,那么配置如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
</build>
修改之后,重新执行maven package
命令即可。
以上两种方法都可以解决maven package
打包时出现的错误。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:maven package 打包报错 Failed to execute goal的解决 - Python技术站