引入cxf-codegen-plugin提示Maven中央仓库找不到对应构件如何解决?
问题根因
你配置的cxf-codegen-plugin未指定版本号,Maven无法从中央仓库定位到对应构件。所有Maven插件都必须明确声明版本,除非你在父pom或者pluginManagement节点中已经统一定义过该插件的版本。
同时你的配置还缺失了goals节点,未指定插件执行目标,即使版本正确也不会触发代码生成逻辑。
修复步骤
- 给
cxf-codegen-plugin添加version标签,可根据项目JDK版本选择匹配的CXF版本:- JDK 8及以上可选用3.x系列版本,例如
3.6.2 - JDK 11及以上可选用4.x系列版本,例如
4.0.4
- JDK 8及以上可选用3.x系列版本,例如
- 补充
goals节点,指定wsdl2java执行目标 - 修改后的完整插件配置如下:
<plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin</artifactId> <version>3.6.2</version> <executions> <execution> <id>locate-wsdl</id> <phase>generate-sources</phase> <goals> <goal>wsdl2java</goal> </goals> <configuration> <wsdlOptions> <wsdlOption> <wsdl>${project.basedir}/src/main/resources/name.wsdl</wsdl> <wsdlLocation>name.wsdl</wsdlLocation> </wsdlOption> </wsdlOptions> </configuration> </execution> </executions> </plugin>
额外排查方案
如果添加版本后仍然提示找不到构件:
- 检查本地Maven的
settings.xml配置,确认使用的镜像源同步了Apache CXF相关构件 - 执行
mvn clean install -U命令强制Maven更新远程仓库构件索引 - 确认网络没有访问限制,无法连接中央仓库时可替换为国内公开镜像源
内容的提问来源于stack exchange,提问作者Rohit Kumar
相关产品推荐
相关产品推荐

