我正在尝试构建一个简单的REST服务来学习OSGI。我正在使用Spark Servlet来处理请求。
我将 spark core 作为依赖项嵌入,在 maven 中构建了我的项目,并在部署时在 Karaf 中出现了布线包错误。
看起来我一个接一个地跟踪程序包,一个一个地解决每个错误,仅仅解决依赖关系就需要大约2个小时。显然我做错了什么。。
我应该如何执行此操作,以便使用 spark servlet?
OSGi的主要思想是创建可重用的模块。大量传递依赖关系表明有人没有收到消息。
如果你发现自己处于这种境地,那么这表明你陷入了困境。现在,很多人显然生活在这种混乱中,因为他们忘记了一个更好的世界,在这个世界里,你可以得到重复利用,事情可以开箱即用。
一个简单的规则是,在应用程序部分(应该非常小),你可以使用任何你想要的东西,因为它永远不会被重用。然而,我会尽我所能限制具有可传递依赖关系的库的依赖关系,因为,依我看,从长远来看,它们总是比它们在短期内带来的问题更多。
将OSGi与大型传递依赖项一起使用会花费大量资金,但不会获得任何好处。
null null 尝试强制升级的错误日志:“无法解析配置”:reading-condermination-server-quarkus-impl:TestCompileClasspath“的所有文件。 无法解析JUnit:JUnit:4.13。要求方:project:reading-concermination-server-quarkus-impl>找不到满足版本约束的“junit:junit
我是OSGI新手(抱歉),在尝试部署我的包和相关依赖项时遇到了一些问题。 这是我的POM: 然后我使用Maven命令捆绑它: mvn org . Apache . Felix:maven-bundle-plugin:bundle all 这是成功的,并生成我的包以及3个依赖包: net.sf.ehcache_2.10.0.jar org.apache.commons.lang3_3.4.0.jar
我正在使用Gradle的Spring Boot框架。我知道,为了包含一些Spring依赖项,我可以引用“starters”而不显式定义版本;该版本将由我选择的Spring Boot版本控制,它是Spring Boot Gradle插件的版本。示例(省略非相关的分级代码): 请注意,没有为我的应用程序依赖项定义显式版本。 我如何确保我为那些依赖项使用的版本与我的其他Spring Boot依赖项兼容?
我正在从一个使用Android-Maven-Plugin的Maven项目中构建一个Android应用程序。在这个项目中,我使用了新的beta版数据绑定库。 它包含在Android SDK的本地m2repository中(extras/Android/m2repository)。这个存储库中的库打包为AAR类型。 附注:对于我自己的本地构建,我有几个解决方案(例如重新打包为jar),但我更喜欢一个更
在应用中,您希望使用不同的类来处理不同的任务以保持代码的简洁。我们把这些类称为 依赖。如何将这些依赖关系传递给将在后台任务调用的方法呢? 当您在后台任务中调用静态方法时,仅限于应用程序的静态上下文,这需要您使用以下获取依赖关系的模式: 通过 new 手动实例化依赖 服务定位器模式 抽象工厂模式 或 建设者模式 单例模式 然而,所有这些模式使您的应用程序的单元可测试性方面变得非常复杂。为了解决这个问