Maven项目启动报错ComponentLookupException:maven-war-plugin加载失败求助
解决Maven War插件API兼容性错误
问题描述
执行项目Gestion_pfe的目标org.apache.maven.plugins:maven-war-plugin:2.1.1:war(default-war)失败:目标org.apache.maven.plugins:maven-war-plugin:2.1.1:war的default-war执行失败,因API兼容性问题无法加载插件'org.apache.maven.plugins:maven-war-plugin:2.1.1'中的mojo 'war':
org.codehaus.plexus.component.repository.exception.ComponentLookupException: Cannot access defaults field of Properties
未对代码做任何修改,仅在编码前尝试运行项目时触发该错误。
解决方案
升级Maven War插件版本
2.1.1版本属于老旧版本,与JDK9及以上版本存在API兼容性问题(JDK9+修改了Properties类的内部私有字段访问限制)。建议将插件升级至3.x系列的稳定版本,在项目的pom.xml中修改配置:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.2</version> <!-- 可替换为最新稳定版 --> </plugin> </plugins> </build>降级JDK版本(仅当必须保留老插件时)
如果项目依赖无法升级插件,需将运行环境的JDK降级至JDK8及以下,老版本插件可兼容该版本JDK的Properties类结构。清理Maven本地缓存
若本地缓存的插件文件损坏,也可能触发此类错误,执行以下命令强制更新依赖并清理缓存:mvn clean install -U
内容的提问来源于stack exchange,提问作者Reda Mohammed
相关产品推荐
相关产品推荐

