WSO2 APIM编译失败:P2 publisher返回码1求助
编译WSO2 APIM 4.2.0时P2 Publisher失败及ZipException问题排查方案
核心问题总结
- P2 Publisher返回码1错误
waffle-jna相关JAR包抛出ZipException: Invalid CEN header (invalid zip64 extended data field size)- 伴随OSGi模块依赖解析失败
排查修复步骤
1. 清理损坏的Maven缓存
ZipException大概率是本地仓库中依赖包损坏导致,直接清理对应缓存:
- 删除Maven本地仓库中
waffle-jna目录(路径一般为~/.m2/repository/com/github/waffle/waffle-jna/) - 执行强制更新的编译命令:
mvn clean install -U-U参数会强制重新下载所有依赖,避免缓存损坏影响
2. 调整Maven版本
Maven 3.9.x部分版本与WSO2的P2 Publisher插件存在兼容性问题,建议降级到官方推荐的稳定版本:
- 切换为Maven 3.8.6
- 重新执行编译流程
3. 调整JDK配置
OpenJDK 11.0.20的Zip64处理可能存在异常,可尝试两种方案:
- 更换为OpenJDK 11.0.19及更早版本,或Oracle JDK 11
- 编译时添加JVM参数禁用Zip64扩展验证:
mvn clean install -Dsun.zip.disableZip64ExtraFieldValidation=true
4. 修复OSGi依赖解析问题
若上述步骤后仍有OSGi依赖报错:
- 确认项目根目录
pom.xml中P2仓库URL配置正确,无访问限制 - 临时跳过OSGi验证排查(仅用于定位问题):
mvn clean install -Dskip.osgi.validation=true
5. 重新克隆完整仓库
全新克隆仍失败可能是克隆过程中文件损坏,使用深度克隆确保完整性:
git clone --depth 1 --branch v4.2.0 https://github.com/wso2/product-apim.git
内容的提问来源于stack exchange,提问作者Thperchi
相关产品推荐
相关产品推荐

