环境准备
软件 | 版本 |
---|---|
jdk | 1.8 |
apache-cxf-2.7.18 | 2.7.18 |
wsdl | 待转化wsdl等文件 |
配置
- 需要配置JDK环境变量
- 配置cxf环境变量:
- CXF_HOME:D:\runtime\apache-cxf-2.7.18
- PTTH:%CXF_HOME%\bin;
- CLASSPATH:%CXF_HOME%/lib
检测
cmd中:
wsdl2java
输出下面的语句则表示正常
Missing argument: wsdlurl
执行命令
参数可以使用 wsdl2java -help查看
wsdl2java yourpath\aa.wsdl
问题
一 GC异常
- 原因:需要转化的wsdl文件特别大,则需要设置java运行jvm变量,异常:
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceede
- 解决:在 %CXF_HOME%\bin\wsdl2java.bat 文件中找到相应位置,设置:-Xms2048m -Xmx2048m
"%JAVA_HOME%\bin\java" -Xms2048m -Xmx2048m -Djava.endorsed.dirs="%CXF_HOME%\lib\endorsed" -cp "%CXF_JAR%;%TOOLS_JAR%;%CLASSPATH%" -Djava.util.logging.config.file="%CXF_HOME%\etc\logging.properties" org.apache.cxf.tools.wsdlto.WSDLToJava %*
二 版本bug
原因:使用 cxf2.7.18 以及jdk1.8,出现文件无法访问的情况
解决:在 %JAVA_HOME%/jre/lib下添加文件jaxp.properties,内容为
javax.xml.accessExternalSchema = all