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

Maven执行WSDL代码生成遇SSL证书路径问题,部署jssecacerts仍未解决

解决CXF Codegen插件SSL证书信任问题(避免全局证书冲突)

你遇到的是Maven插件拉取HTTPS WSDL时的SSL证书信任问题,而且担心导入新证书会影响已有的办公证书配置,下面几个方案可以帮你解决这个问题:

方案1:给CXF插件单独指定信任库(推荐)

这个方法不用修改全局JDK证书库,直接让CXF插件在生成代码时使用你自定义的信任库,完美避开和办公证书的冲突。修改你的cxf-codegen-plugin配置,给对应wsdlOption添加extraargs参数:

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>2.7.0</version>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>https://wd2-impl-services5.workday.com/ccx/service/fietu1/Human_Resources/v34.0?wsdl</wsdl>
                        <!-- 添加以下参数指定自定义信任库 -->
                        <extraargs>
                            <extraarg>-Djavax.net.ssl.trustStore=/absolute/path/to/your/jssecacerts</extraarg>
                            <extraarg>-Djavax.net.ssl.trustStorePassword=changeit</extraarg>
                            <!-- 如果你生成jssecacerts时修改了默认密码,替换成你的密码 -->
                        </extraargs>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

配置完后重新执行mvn generate-sources,插件就会用你指定的信任库去验证Workday的SSL证书了。

方案2:确认Maven实际使用的JVM路径

有时候你复制jssecacerts的JDK/JRE并不是Maven实际调用的那个,导致证书没生效。先执行以下命令查看Maven使用的Java Home:

mvn -version

找到输出里的Java home字段,比如:

Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home/jre

把你的jssecacerts复制到这个路径下的lib/security目录里,然后再重新执行插件命令。

方案3:临时通过Maven命令参数指定信任库

如果你不想修改pom.xml,可以在执行Maven命令时直接传入系统参数:

mvn generate-sources -Djavax.net.ssl.trustStore=/path/to/your/jssecacerts -Djavax.net.ssl.trustStorePassword=changeit

这个方法适合临时测试,不用改动项目配置。

额外注意点

  • 确保你的jssecacerts确实包含了Workday服务器的根证书,生成时要正确导出服务器证书并导入到这个信任库中。
  • 如果修改过信任库密码,一定要保证配置里的密码和实际密码一致,默认密码是changeit。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 12:47:34