【发布时间】:2019-03-26 15:51:11
【问题描述】:
我想测试一个由我和同事编写的骆驼组件。它在Karaf 上运行,并部署了以下camel 捆绑包:
80 │ Active │ 50 │ 2.17.1 │ camel-blueprint
81 │ Active │ 50 │ 2.17.1 │ camel-catalog
82 │ Active │ 50 │ 2.17.1 │ camel-core
组件和使用该组件的蓝图也被部署。我认为我错过了安装骆驼功能,它提供类 DefaultComponent,所以我认为没有必要审查代码。
我收到以下错误:
java.lang.NoClassDefFoundError: org/apache/camel/impl/DefaultComponent
【问题讨论】:
-
那个类来自
camel-core,所以它应该在那里。也许该错误是由它以某种方式隐藏的其他错误引起的。还要检查您尝试安装的捆绑包是否具有正确的 osgi 导入等。此外,您还需要详细说明您在该捆绑包中执行的操作导致此错误,也许您没有为 osgi 等设置正确的设置。 -
我检查了现有的camel-components 并注意到,我们在 mavens pom.xml 中忘记了一些 osgi 属性。所以我在camel.osgi.export.pkg、camel.osgi.import.additional和camel.osgi.export.service中设置了属性pom 现在可以找到 DefaultComponent 的 ClassDef 了。所以你是对的@ClausIbsen - 我们没有为 osgi 正确设置它。
标签: apache-camel osgi apache-karaf jbossfuse apache-servicemix