我正在通过 HTTPS 使用 jaxws-maven-plugin 生成源代码:
<executions>
<execution>
<id>wsdl_new_xxx-exec</id>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<sourceDestDir>${project.build.directory}/generated</sourceDestDir>
<args>
<arg>-B-XautoNameResolution</arg>
</args>
<wsdlUrls>
<wsdlUrl>https://example.com/xxx.asmx?WSDL</wsdlUrl>
</wsdlUrls>
<packageName>x.y.z</packageName>
</configuration>
</execution>
</executions>
但是在构建期间我得到:
[错误] sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
我知道解决方案是将证书添加到 JRE 密钥库,但问题是这将在 CI 系统上运行,该系统具有大量可能的节点,我无法控制这些节点,因此无法安装证书到所有节点的 JRE。
我该如何解决这个问题?无需将 WSDL 文件与 pom.xml 一起使用。