管理OSGI中的传递依赖?

时间:2018-03-17 21:28:54

标签: java osgi bundle apache-karaf

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

我将spark core作为依赖项嵌入,在maven中构建我的项目,并在部署时在Karaf中出现布线包错误。

似乎我按照包后的方式,逐个解决每个错误,只需要2个小时来解决依赖关系。显然我做错了什么..

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

1 个答案:

答案 0 :(得分:0)

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

如果你发现自己处于你的境地,那么这表明你陷入了困境。现在,很多人显然生活在这个烂摊子里,因为他们忘记了一个更好的世界,在那里你可以重复使用,而且开箱即用。

一个简单的规则是,在应用程序部件(应该非常小)上,您可以使用任何您想要的东西,因为它永远不会被重用。但是,我会不遗余力地限制对具有传递依赖性的库的依赖性,因为,从长远来看,它们总是会导致更多问题,然后它们会在短期内提供。

使用具有大传递依赖性的OSGi需要付出很多钱而且没有任何好处。