我正在尝试遵循一个简单的教程,使用蓝图将简单的CRUD接口作为REST服务公开
github link to tutorial code

部署到serviceMix时,出现以下错误:

java.lang.IllegalArgumentException: Unknown namespace for jpa: http://cxf.apache.org/schemas/configuration/cxf-beans.xsd


我不知道为什么,我安装了与教程features相同的features

而且我有相同的maven dependencies dependencies

我的bundle:list给出以下list of bundles

由于此问题,bundlesstate:failure失败

有任何想法吗 ?

更新1:

blueprint blueprint的内容

我还使用blueprint-maven-plugin生成以下generated blueprint

更新2:

如Christian Schneider的建议,安装aries-jpa 2.5.0可以解决此问题,但是发生了一件奇怪的事情:
以前,当我安装了2.3.0版本时,我安装了以下与aries相关的捆绑软件:

254 | Active  |  80 | 2.3.0 | Apache Aries JPA Container API
255 | Active  |  80 | 2.3.0 | Apache Aries JPA blueprint
256 | Active  |  80 | 2.3.0 | Apache Aries JPA container
257 | Active  |  80 | 2.3.0 | Apache Aries JPA support


现在我有了2.5.0,在执行bundle:list时不再显示那些捆绑包

feature:list显示以下内容

jpa| 2.5.0|| Started| aries-jpa-2.5.0| OSGi Persistence Container


所以问题是,我是否应该担心这些捆绑包不再显示?

最佳答案

感谢您提供的蓝图内容。我的第一个答案走错了路。

错误的原因是the issue ARIES-1600 in aries jpa。此问题已在Aries JPA 2.5.0中修复。您可以通过将此功能库网址添加到功能中来使用它:

mvn:org.apache.aries.jpa/jpa-features/2.5.0/xml/features


如果从命令行安装,则可以使用以下命令进行安装:

功能:repo-add aries-jpa 2.5.0

07-25 20:19