【发布时间】:2012-01-04 23:36:31
【问题描述】:
我有一个使用 Spring 连接的基于服务器的组件。我有一个客户端接口,它也使用 Spring 连接到服务器。我需要从 Eclipse RCP 应用程序连接到服务器。
我已经在我的目标平台中包含了所需的 spring 库。
但是,当我尝试创建 Spring 上下文时,我在“net.sf.cglib.proxy.Enhancer”上收到 ClassNotFoundException,这会导致抛出 IllegalStateException。
我已手动将 cglib 2.2 包装在插件中并将其添加到我的目标平台,但它仍然会引发相同的错误。
如何确保 Spring 模块可以访问 CGLib?
【问题讨论】:
-
您是否尝试过在 BundleClasspath 上将 cglib 包装在您的实际应用程序包中? IE。不在单独的捆绑包中。并使用 (Embed-Dependency) 嵌入它。或者您可以导入所有 cglib 库(使用 Private-Import)并确保包显示在 bundle/jar 中。
-
另外,如果您有多个包,请确保需要 cglib 的实际包正在导入它。我最近在使用 Hibernate 包和数据库驱动程序时犯了这个错误(请参阅stackoverflow.com/questions/8013205/…)。我认为当您习惯了 Java 的标准类加载时,很容易感到困惑。
标签: spring eclipse-rcp osgi dependency-management