java.lang.ClassNotFoundException: org.apache.xbean.spring.context.v2.XBeanNamespaceHandler

Problème

Développer jax-ws avec Spring en utilisant jdk1.6 jaxws-spring-1.8.jar Spring-2.5.6.jar Voir le fichier de configuration XML Spring suivant:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:ws="http://jax-ws.dev.java.net/spring/core"
       xmlns:wss="http://jax-ws.dev.java.net/spring/servlet"

       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://jax-ws.dev.java.net/spring/core
       http://jax-ws.dev.java.net/spring/core.xsd
       http://jax-ws.dev.java.net/spring/servlet
       http://jax-ws.dev.java.net/spring/servlet.xsd"
>

    <wss:binding url="/ws">
        <wss:service>
            <ws:service bean="#UserWs"/>
        </wss:service>
    </wss:binding>

    <!-- this bean implements web service methods -->
    <bean id="UserWs" class="com.mkyong.user.ws.UserWS">
        <property name="UserBo" ref="com.mkyong.user.bo.UserBo"/>
    </bean>

</beans>

Mais, le message d’erreur suivant s’affiche:

java.lang.ClassNotFoundException: org.apache.xbean.spring.context.v2.XBeanNamespaceHandler

Solution

“Org.apache.xbean.spring.context.v2.XBeanNamespaceHandler`” appartient à xbean-spring.jar . Vous pouvez l’obtenir à partir du référentiel central Maven here ou déclarer la dépendance de xbean dans votre fichier pom.xml.

Fichier: pom.xml

<dependency>
    <artifactId>xbean</artifactId>
    <groupId>org.apache.xbean</groupId>
    <version>3.7</version>
</dependency>

lien://tag/jax-ws/[jax-ws]lien://tag/spring/[spring]