You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AKS运行Quarkus CXF时出现WSDL FileNotFoundException

排查与解决AKS部署后WSDL文件找不到的问题

1. 确认WSDL是否被打包进镜像

  • 检查Azure DevOps的Maven/Gradle构建任务,确保执行了mvn package或gradle build这类完整打包命令,src/main/resources下的文件会被自动复制到构建产物的资源目录。
  • 临时修改Dockerfile,添加RUN ls -la /work/app/BOOT-INF/resources(Quarkus jar包镜像的默认资源路径)或对应原生镜像的资源路径,构建镜像后查看文件是否存在,确认是否是构建阶段遗漏了文件。

2. 修正代码中的WSDL加载路径

  • 配置quarkus.cxf.codegen.wsdl2java.includes = *.wsdl仅在构建时代码生成生效,运行时加载WSDL不能用构建代理的绝对路径/home/vsts/work/1/s/src/main/resources/checkVatService.wsdl——这个路径只存在于Azure DevOps的构建机器上。
  • 代码中替换为类路径加载,比如classpath:checkVatService.wsdl,Quarkus会自动从jar包的资源目录中读取。

3. 检查原生镜像构建的资源包含配置(如果用原生镜像)

  • 如果是构建Quarkus原生镜像,需要在application.properties中添加quarkus.native.resources.includes = *.wsdl,避免原生编译过程中把WSDL文件排除在外。

4. 验证构建产物的完整性

  • 在Azure DevOps构建完成后,下载生成的jar包或镜像,本地解压jar包查看BOOT-INF/resources目录是否有目标WSDL文件;如果是镜像,本地运行后进入容器内部检查文件是否存在。

内容的提问来源于stack exchange,提问作者thathashd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 02:42:43