org.apache.aries.jpa:org.apache.aries.jpa.blueprint:2.3.0 - 无法运行

Posted

技术标签:

【中文标题】org.apache.aries.jpa:org.apache.aries.jpa.blueprint:2.3.0 - 无法运行【英文标题】:org.apache.aries.jpa:org.apache.aries.jpa.blueprint:2.3.0 - Can't make run 【发布时间】:2019-04-25 07:17:40 【问题描述】:

我正在按照此处的教程 (https://github.com/apache/aries-jpa/tree/master/examples) 运行 aries-jpa 示例,但未成功。 README.md 文件说要执行以下操作:

feature:repo-add mvn:org.ops4j.pax.jdbc/pax-jdbc-features/0.8.0/xml/features
feature:install scr transaction pax-jdbc-config pax-jdbc-h2 pax-jdbc-pool-dbcp2 http-whiteboard jpa hibernate/4.3.6.Final

最后一条命令显示如下错误信息~:~

Error executing command: No matching features for hibernate/[4.3.6.Final,4.3.6.Final]

所以我只做:

feature:install scr transaction pax-jdbc-config pax-jdbc-h2 pax-jdbc-pool-dbcp2 http-whiteboard jpa hibernate

这行得通。查看我已安装的功能:

karaf@root()> feature:list | grep hibernate
hibernate-orm                            │ 5.1.13.Final-redhat-1           │          │ Started     │ hibernate-osgi                                │ Combines all Hibernate core dependencies and requ
hibernate-envers                         │ 5.1.13.Final-redhat-1           │          │ Uninstalled │ hibernate-osgi                                │ Feature for easily adding Envers support to hiber
hibernate-infinispan                     │ 5.1.13.Final-redhat-1           │          │ Uninstalled │ hibernate-osgi                                │ Feature for easily adding Infinispan-based cachin
hibernate-ehcache                        │ 5.1.13.Final-redhat-1           │          │ Uninstalled │ hibernate-osgi                                │
hibernate-validator                      │ 5.3.5.Final-redhat-2            │          │ Uninstalled │ hibernate-validator-osgi-features             │
hibernate-validator-paranamer            │ 5.3.5.Final-redhat-2            │          │ Uninstalled │ hibernate-validator-osgi-features             │
hibernate                                │ 5.1.13.Final-redhat-1           │ x        │ Started     │ enterprise-4.2.0.fuse-710024-redhat-00002     │ Hibernate JPA engine support
karaf@root()>

之后,文档指示这样做:

install -s mvn:org.apache.aries.jpa/org.apache.aries.jpa.blueprint/2.3.0
install -s mvn:org.apache.aries.jpa.example/org.apache.aries.jpa.example.tasklist.model/2.3.0
install -s mvn:org.apache.aries.jpa.example/org.apache.aries.jpa.example.tasklist.blueprint/2.3.0

这按预期工作,但是当我转到 http://localhost:8181/tasklist 时,我在日志中得到以下信息:

15:16:06.199 ERROR [Blueprint Extender: 3] Unable to start blueprint container for bundle org.apache.aries.jpa.example.tasklist.blueprint/2.3.0 due to unresolved dependencies [(&(osgi.unit.name=tasklist)(objectClass=javax.persistence.EntityManager))]

由于这是官方样本,应该证明整个东西都在工作,我希望它能够按原样工作,而不需要做任何特定的事情。但由于某些原因,它没有。我已经多次看到此问题报告但没有解决方案。请帮忙。

哦,还有我使用的版本是 4.2.0.fuse-710024-redhat-00002

亲切的问候,

尼古拉斯

【问题讨论】:

你明白了吗,我在这里说的是一个教程,因此,按照给定的说明,没有其他事情可以做? 我们可能对“帮助”的含义有不同的看法。任何机构都能够阅读异常并说出它的含义。您的评论解释了异常的含义,任何机构都知道,我没有等您解释。我的问题是为什么应该指导人们的官方教程会引发异常?那是因为我没有正确遵循说明吗?那是因为教程本身不完整吗?您似乎认为本教程缺少步骤。这是极不可能的,但如果您认为,请随时添加缺少的步骤。 我认为本教程是为不同的 karaf 版本编写的。我会尽力给你反馈。 【参考方案1】:

我将示例更新为 karaf 4.2.1 中使用的版本。基于闭包的示例现在可以使用。基于蓝图的示例给出了一个例外。

我在 apache aries jira 上打开了一个问题来跟踪它。见https://issues.apache.org/jira/browse/ARIES-1869

我们解决了这个问题。原因是蓝图核心包中的一个错误。见https://issues.apache.org/jira/browse/ARIES-1793。 Apache karaf 4.2.2 将包含此修复程序。

【讨论】:

以上是关于org.apache.aries.jpa:org.apache.aries.jpa.blueprint:2.3.0 - 无法运行的主要内容,如果未能解决你的问题,请参考以下文章