【问题标题】:Using Spring 3.x AnnotationConfigApplicationContext in Eclipse RCP在 Eclipse RCP 中使用 Spring 3.x AnnotationConfigApplicationContext
【发布时间】: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


【解决方案1】:

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

有没有更好的办法?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多