提问人:Ruchi 提问时间:1/11/2023 最后编辑:Ruchi 更新时间:10/28/2023 访问量:9517
由于 API 不兼容,无法在插件“org.apache.maven.plugins:maven-war-plugin:2.2”中加载 mojo 'war'
Unable to load the mojo 'war' in the plugin 'org.apache.maven.plugins:maven-war-plugin:2.2' due to an API incompatibility
问:
我正在尝试构建我的办公项目,我已经从 java 11 升级到 17。
我已经根据兼容的 java 版本更新了我的 maven,在获得很多关于其余错误的帮助后,我仍然坚持在这个错误上。
到目前为止,我已经更新了:
Eclipse版本,java版本,java版本,surefire插件详细信息,设置中的mirrorOf标签.xml。
版本详情如下:
Java 版本 - 17 .
Java 主页 - C:\Program Files\Java\jdk-17.0.5
java 路径 - C:\Program Files\Java\jdk-17.0.5\bin -
我的 POM 中的 Java 版本 - 17
我的系统中安装的 Maven 版本 - 3.8.5
maven_home - C:\project\Softwares\Maven\apache-maven-3.8.5\bin
我的 pom.xml 中的 maven - 3.8.1
现在,在设置完所有内容后,这是错误。请帮助我纠正这个问题:
Unable to load the mojo 'war' in the plugin 'org.apache.maven.plugins:maven-war-plugin:2.2' due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: Cannot access defaults field of Properties
编辑 1:添加 pom.xml 4.0.0
答:
请尝试以下选项
在您的 pom.xml 中,配置以下插件
- maven编译器插件-> 3.10.1
- maven-war-plugin -> 3.3.2
尝试清理项目并更新 maven 依赖项(右键单击 project -> Maven -> update project)
如果它不起作用,则您的 Maven 安装可能存在问题。 您可以尝试卸载 M2Eclipse 插件,删除驱动器上的 .m2 文件夹,然后重新安装 M2Eclipse。
附言:
我注意到您在项目中使用了 servlet 3 依赖项。由于您使用的是 java 17,因此您可以相应地将它们升级到最新的可用版本
评论