maven下配置cxf的点点滴滴

本文介绍了在maven项目中使用CXF实现Webservice的配置过程,包括遇到的servlet-api冲突问题及解决方法,通过调整pom依赖解决了错误,实现了正常运行。


最近一个项目里要用到webservice,因为之前用过CXF,觉得挺好用,就直接用这个了。

项目使用maven构建的,不能参照我之前写的那个CXF帖子,于是到网上搜了一下,发现很多人都是在pom文件里引用了很多<dependency>依赖,apache cxf官方网站上也是这么介绍,说要引用这些jar包,原文如下:

<!-- Use dependency blocks for these CXF artifact Ids just as above -->
cxf-rt-core
cxf-rt-frontend-simple
cxf-rt-frontend-jaxws
cxf-rt-databinding-aegis
cxf-rt-transports-local
cxf-rt-transports-http
cxf-rt-transports-http-jetty
cxf-rt-transports-jms
cxf-rt-management
cxf-common-utilities

既然官方都这么讲了,那就照着做呗。

web.xml和applicationContext-webservice.xml都和上次写的CXF配置一样,由于是maven项目,还用了tomcat的运行插件:

<build>
		<finalName>O2OBillService</finalName>
		<plugins>
		  <plugin>
	        <groupId>org.apache.tomcat.maven</groupId>
	        <artifactId>tomcat6-maven-plugin</artifactId>
	        <version>2.1</version>
	        <configuration>
	          <url>http://localhost:8080/manager</url>
	          <server>tomcat6</server>
	          <contextReloadable>true</contextReloadable>
	        </configuration>
	      </plugin>
		</plugins>
	</build>

运行这个插件,还需要在maven的配置文件settings.xml里面加上下面这一段:

<server>   
    <server>  
      <id>tomcat6</id>  
      <username>admin</username>  
      <password>admin</password>  
    </server>
    
  </servers>
server里面的id和configuration里面的server要一样。


好了,貌式一切准备就绪了,运行(第一次运行tomcat插件需要配置一下,goals里面填上:tomcat:run),试试

悲了个催,爆了下面一个错,搞死洒家了!

java.lang.ClassCastException: org.apache.cxf.transport.servlet.CXFServlet cannot be cast to javax.servlet.Servlet

------ 午饭时间到,先吃饭饭去。

上面的那个错误,百度搜了半天,没查到正解;谷歌现在还在被墙的状态,只好去being查了一下,发现是由于servlet-api jar的冲突,需要去掉geronimo-servlet这样的一个jar包,最后的pom依赖如下(其他的配置比如web.xml,app***.xml都没有修改):

<dependency>
		    <groupId>org.apache.cxf</groupId>
		    <artifactId>apache-cxf</artifactId>
		    <version>2.2.3</version>
		    <exclusions>
		        <exclusion>
		          <groupId>org.apache.geronimo.specs</groupId>
		          <artifactId>geronimo-servlet_2.5_spec</artifactId>
		        </exclusion>
		    </exclusions>
		    <type>pom</type>
	     </dependency>

是不是看起来很干净,apache-CXF官方网站实在是不给力。

最后也是可以正常运行了,all right !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值