首页 > 解决方案 > Apache Karaf 休眠核心功能找不到 javax.persistence

问题描述

我遇到了 hibernate-envers (5.4.17.Final) 和 karaf 4.2.9 的问题,尝试安装相应的功能会导致异常:

138 │ Active │  80 │ 2.2                │ Java(TM) Persistence API jar
139 │ Active │  80 │ 1.10.10            │ Byte Buddy (without dependencies)
147 │ Active │  80 │ 1.1.1              │ Apache Aries Transaction Blueprint
148 │ Active │  80 │ 2.2.0              │ Apache Aries Transaction Blueprint
153 │ Active │  80 │ 5.1.0.Final        │ hibernate-commons-annotations
154 │ Active │  80 │ 5.4.17.Final       │ hibernate-core
155 │ Active │  80 │ 5.4.17.Final       │ hibernate-osgi
156 │ Active │  80 │ 2.1.3.Final        │ Java Annotation Indexer
157 │ Active │  80 │ 3.3.2.Final        │ JBoss Logging 3
158 │ Active │  80 │ 1.1.1.Final        │ Java Transaction API

karaf@root()> feature:install hibernate-envers
org.apache.felix.resolver.reason.ReasonException: Unable to resolve org.hibernate.orm.core/5.4.17.Final: missing requirement [org.hibernate.orm.core/5.4.17.Final] osgi.wiring.package; filter:="(&(osgi.wiring.package=javax.persistence)(version>=2.2.0))"
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
    at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:420)
    at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:378)
    at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:332)
at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
    at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:393)
    at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
    at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Error executing command: Unable to resolve org.hibernate.orm.core/5.4.17.Final: missing requirement [org.hibernate.orm.core/5.4.17.Final] osgi.wiring.package; filter:="(&(osgi.wiring.package=javax.persistence)(version>=2.2.0))"
karaf@root()> 

根据异常,缺少 javax.persistence 2.2.0 包,但是列出所有包显示 javax.persistence 和 2.2。我将如何以及在哪里解决这个问题?是休眠的问题吗?

干杯托马斯

标签: hibernateapache-karafhibernate-envers

解决方案


再次从头开始似乎解决了这个问题,我也没有再次添加休眠回购(我第一次尝试功能:repo-add hibernate 5.4.17.Final),因为它已经在那里,可能这似乎是错误,虽然相当奇怪。


推荐阅读