由于 API 不兼容,无法加载插件 'org.apache.maven.plugins:maven-war-plugin:2.2' 中的 mojo 'war'

问题描述 投票:0回答:1

我正在尝试构建我的办公室项目,我已从 java 11 升级到 17。

我已经根据兼容的java版本更新了我的maven,在针对其余错误获得了大量帮助后,我仍然停留在这个问题上。

到目前为止我更新的内容:
Eclipse版本,java版本,java版本,surefire插件详细信息,settings.xml中的mirrorOf标签。

版本详情如下:

  • Java 版本 - 17 .

  • Java 主页 - C:\Program Files\Java\jdk-17.0.5

  • java 路径 - C:\Program Files\Java\jdk-17.0.5 in -

  • 我的 pom 中的 java 版本 - 17

  • 我的系统中安装了maven版本 - 3.8.5

  • maven_home - C:\project\Softwares\Maven pache-maven-3.8.5 中

  • 我的 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

java maven pom.xml maven-plugin java-17
1个回答
5
投票

尝试以下选项

  1. 在您的 pom.xml 中,配置以下插件

    • maven-编译器插件-> 3.10.1
    • maven-war-插件 -> 3.3.2
  2. 尝试清理项目并更新 Maven 依赖项(右键单击项目 -> Maven -> 更新项目)

  3. 如果不起作用,则您的 Maven 安装可能存在问题。 您可以尝试卸载 M2Eclipse 插件,删除驱动器上的 .m2 文件夹,然后重新安装 M2Eclipse。


PS:

我注意到您在项目中使用了 servlet 3 依赖项。由于您使用的是 java 17,您可以相应地将它们升级到最新可用版本

© www.soinside.com 2019 - 2024. All rights reserved.