使用force-wsc-57.0.0生成salesforce.jar时主类加载失败问题
解决"Could not find or load main class com.sforce.ws.tools.wsdlc"问题
最可能的原因:类路径分隔符错误
你当前命令里用逗号,分隔jar包是错误的,不同系统的类路径分隔符规则不同:
- Windows系统用分号
; - Linux/macOS系统用冒号
:
修正后的命令:
Windows环境:
java -cp force-wsc-57.0.0.jar;ST4-4.3.4.jar com.sforce.ws.tools.wsdlc partner.wsdl partner.jar
Linux/macOS环境:
java -cp force-wsc-57.0.0.jar:ST4-4.3.4.jar com.sforce.ws.tools.wsdlc partner.wsdl partner.jar
其他排查步骤
- 核对jar包文件名:确认
force-wsc-57.0.0.jar和ST4-4.3.4.jar的文件名无拼写错误,Linux/macOS下需注意文件名大小写敏感。 - 验证主类存在:执行以下命令确认目标类确实在force-wsc包内:
jar tf force-wsc-57.0.0.jar | grep com.sforce.ws.tools.wsdlc
若输出显示com/sforce/ws/tools/wsdlc.class,则主类存在。
- 补充缺失依赖:如果上述操作后仍报错,需检查是否遗漏force-wsc的其他依赖jar包(如antlr-runtime等),将对应版本的依赖包加入类路径即可。
内容的提问来源于stack exchange,提问作者Cristian López González
相关产品推荐
相关产品推荐

