【问题标题】:Managing transitive dependencies in OSGI?在 OSGI 中管理传递依赖?
【发布时间】:2018-03-17 21:28:54
【问题描述】:

我正在尝试构建一个简单的 REST 服务来学习 OSGI。我正在使用 Spark Servlet 来处理请求。

我嵌入了 spark 核心作为依赖项,在 maven 中构建了我的项目,并在部署时在 Karaf 中遇到了接线包错误。

好像我一个包一个包,一个一个地解决每个错误,解决依赖关系大约需要2个小时。显然我做错了什么..

我应该怎么做才能使用 spark servlet?

【问题讨论】:

  • 无代码 sn-p,无错误信息...

标签: java osgi bundle apache-karaf


【解决方案1】:

OSGi 的主要思想是创建可重用的模块。大量传递依赖表明有人没有收到消息。

如果您发现自己处于这种情况,则表明您一团糟。现在,很多人显然生活在这种混乱中,因为他们忘记了一个更美好的世界,在那里你可以重复使用,而且事情开箱即用。

一个简单的规则是,在应用程序部分(应该非常小)上,你可以使用任何你想要的东西,因为它永远不会被重用。但是,我会竭尽全力限制对具有传递依赖关系的库的依赖关系,因为恕我直言,从长远来看,它们总是会导致更多问题,而不是它们在短期内提供的问题。

使用具有大量传递依赖的 OSGi 是要付出很多钱,却没有得到任何好处。

【讨论】:

  • 这就是我在使用 OSGI 时遇到的问题:没有逃避图书馆。并且库总是具有传递依赖关系。
  • 是的。但是好的图书馆很少。不管 OSGi 是什么,我的经验是,当开发人员考虑他们的依赖关系时,这强烈表明他们的代码更好。
猜你喜欢
  • 1970-01-01
  • 2014-12-20
  • 2017-07-27
  • 1970-01-01
  • 1970-01-01
  • 2012-10-09
  • 2021-01-04
  • 1970-01-01
  • 2014-11-01
相关资源
最近更新 更多