使用java -jar xx.jar执行程序时遇到如下问题。
使用的是cxf,动态调用webService.
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient(”“);
1.Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
解决:添加jdk 下的 tools.jar ,此时会出现第二个问题
2.java.lang.IllegalStateException: No compiler detected, make sure you are running on top of a JDK instead of a JRE.
解决:添加jdk下的lib\tools.jar 到程序目录 ,和jar包平级
如果访问webservice 信息有中文,会出现第三个错误
3.webservice 错误: 编码gbk的不可映射字符
解决:修改启动配置文件添加 -Dfile.encoding=UTF-8
java -jar -Dfile.encoding=UTF-8 xxxx.jar