在EclipseRCP中使用Spring3.x注释ConfigApplicationContext

在EclipseRCP中使用Spring3.x注释ConfigApplicationContext,spring,eclipse-rcp,osgi,dependency-management,Spring,Eclipse Rcp,Osgi,Dependency Management,我有一个使用Spring连接的基于服务器的组件。我有一个客户端接口,它也使用Spring连接到服务器。我需要从EclipseRCP应用程序连接到服务器 我已经在我的目标平台中包含了所需的spring库 然而,当我尝试创建Spring上下文时,我在“net.sf.cglib.proxy.Enhancer”上得到一个ClassNotFoundException,这导致抛出一个IllegalStateException 我已经手动将CGLIB2.2包装在插件中,并将其添加到我的目标平台,但它仍然抛出相

我有一个使用Spring连接的基于服务器的组件。我有一个客户端接口,它也使用Spring连接到服务器。我需要从EclipseRCP应用程序连接到服务器

我已经在我的目标平台中包含了所需的spring库

然而,当我尝试创建Spring上下文时,我在“net.sf.cglib.proxy.Enhancer”上得到一个ClassNotFoundException,这导致抛出一个IllegalStateException

我已经手动将CGLIB2.2包装在插件中,并将其添加到我的目标平台,但它仍然抛出相同的错误


如何确保Spring模块可以访问CGLib?

我在中通过创建一个包含Spring和所有必需依赖项的单独包解决了这个问题。然后,我不得不在我的客户机代码和spring包之间添加Eclipse Buddy类加载,以便它能够加载我的配置类


有更好的方法吗?

您是否尝试过将cglib包装到实际的应用程序包中,并将其放在BundleClasspath上?也就是说,不是单独打包的。并使用(嵌入依赖项)嵌入它。或者,您可以导入所有cglib库(使用私有导入),并确保包显示在bundle/jar中。此外,如果您有多个bundle,请确保需要cglib的实际bundle正在导入它。我最近在使用Hibernate捆绑包和数据库驱动程序时犯了这个错误(请参阅)。我认为,当您习惯于Java的标准类加载时,很容易感到困惑。