其实最麻烦的事情就是解决jar包之间的各种冲突,这里介绍一下我在搭建的时候遇到的一些问题和解决方法。
1.Spring和MyBatis的整合
需要的jar包
如果需要用DBCP连接的话需要导入
commons-dbcp-1.2.1.jar和commons-pool-1.3.jar,这两个jar包很常见,如果没有可以百度mvn去下载。
这里整合好了建议先单元测试,免得后期遇到错误定位的范围变大。
2.Spring+CXF整合
去官网下载apache-cxf-3.0.2(现在应该有更高的版本)把lib下.jar的包拷到项目中
这里我在运行的时候遇到一个错误:
java.lang.IncompatibleClassChangeError: class org.springframework.cglib.core.DebuggingCla
原因是在CXF的包中有Spring-core-3.2.6.RELEASE.jar和asm-3.3.1.jar有冲突,需要删除掉asm-3.3.1.jar即可!
3.全部整合好项目发布后通过客户端调用服务器端的时候又出现了一个错误:
java.lang.RuntimeException: Cannot create a secure XMLInputFactory
网上的说法是缺少了两个jar包 stax2-api-3.1.x.jar 和 woodstox-core-asl-4.2.x.jar,但我这边有这两个jar包发现也报错,原因也是jar包之间的冲突,我的解决方案是在调用服务器端的时候加这样几行代码:
Properties props = System.getProperties();
props.setProperty("org.apache.cxf.stax.allowInsecureParser", "1");
props.setProperty("UseSunHttpHandler", "true");
导入的包是:
import java.util.Properties;
然后就能正常返回了。
最后附上我已经整合好的服务器端代码和客户端。运行即可测试使用!
http://download.youkuaiyun.com/detail/shiningrunner/9770760
http://download.youkuaiyun.com/detail/shiningrunner/9770787