【问题标题】:How to separate class loader for different jar version?如何为不同的 jar 版本分离类加载器?
【发布时间】:2013-01-14 16:21:27
【问题描述】:

我有一个包含许多测试的测试战争文件。每个测试都打包在具有很多依赖项的 maven 项目中。我们使用 maven 进行依赖管理,但它带来了一个问题。当测试更新公共库时,它可能会破坏依赖于旧版本库的其他测试。如何让所有的测试在一个完全独立的环境中运行,并拥有自己的一套库版本?我无法在单独的 jvm 中执行它们,因为这些测试需要非常频繁地执行,例如 30 秒左右。 OSGi 可以帮助解决这个问题吗?

【问题讨论】:

    标签: java osgi classloader


    【解决方案1】:

    是的,OSGi 可以解决这个问题,但也不能掉以轻心。当您准备好投入时间和精力来隔离和管理依赖项、正确地对它们进行版本控制以及(可选)使您的代码和架构更加模块化/可重用时,请使用 OSGi。

    请记住,由于某些遗留库使用的非模块化做法,最初采用 OSGi 可能会很痛苦。

    【讨论】:

      猜你喜欢
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      相关资源
      最近更新 更多