5 Replies Latest reply on Nov 4, 2010 3:51 AM by eruiz_eruiz

    CGLIB v2.1.3, CXF and Spring

    j3rem1e

      Hello,

       

      I'm using Fuse ESB 4.3 and i have some conflicts between cxf, spring and cglib, when i install hibernate :

       

      - The feature "jpa-hibernate" install cglib v2.2.0

      - Fuse ESB is shipped with cglib v2.1.3

      - CXF declare two optional dependencies with cglib [2.1.3,2.2.0) and spring [2.5,4)

      - Spring declare an optional dependency with cglib [2.1.3,3)

       

      So when installing Hibernate, Spring resolve his optional dependency to cglib with version 2.2.0. and therefore cxf can't resolve his dependency to spring. A lot of bundles using cxf and spring fail with a "java.lang.NoClassDefFoundError: org/springframework/beans/factory/support/ManagedSet"

       

      A simple workaround is to uninstall cglib v2.1.3 after installing hibernate, and then refresh the spring beans bundle, but "sometimes", when i restart Fuse ESB, the old version of cglib is automatically installed again.

       

      In my opinion, it's a regression of this JIRA issue https://issues.apache.org/jira/browse/CXF-2773, after upgrading Fuse ESB to Spring 3 ?

       

      So my question : can i "blacklist" cglib v2.1.3 ?

      I suppose that a proper solution should be to patch cxf to use cglib [2.1.3,3) ?

       

      Jeremie