Jakarta ee java.lang.LinkageError:加载程序约束冲突;解析接口方法时(在服务类中)

Jakarta ee java.lang.LinkageError:加载程序约束冲突;解析接口方法时(在服务类中),jakarta-ee,jax-rs,karaf,linkageerror,Jakarta Ee,Jax Rs,Karaf,Linkageerror,我的项目结构类似于有三个捆绑包,即Rest(其中放置Rest API及其实现类)、Service API(其中定义了服务接口)和Service Impl(其中放置了Service API的实现)。我在PersonalInfoServiceImpl中的代码只需将PersonalInfoRequestBean值设置为PersonalInfoResponseBean(+更多属性)对象并返回PersonalInfoResponseBean。它工作得很好。但是在集成了几个拦截器之后,现在我突然在代码中发现

我的项目结构类似于有三个捆绑包,即Rest(其中放置Rest API及其实现类)、Service API(其中定义了服务接口)和Service Impl(其中放置了Service API的实现)。我在
PersonalInfoServiceImpl
中的代码只需将
PersonalInfoRequestBean
值设置为
PersonalInfoResponseBean
(+更多属性)对象并返回
PersonalInfoResponseBean
。它工作得很好。但是在集成了几个拦截器之后,现在我突然在代码中发现了以下错误:

Caused by java.lang.LinkageError: loader constraint violation: when resolving 
interface method "personal.info.service.api.PersonalInfoService.getPersonalInfoDetails(Lcom//personal/info/model/PersonalInfoRequestBean;)Lpersonal/info/model/PersonalInfoResponseBean;" 
the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) 
of the current class, personal/info/rest/impl/PersonalInfoRESTServiceImpl, 
and the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) 
for the method's defining class, personal/info/service/api/PersonalInfoService, 
have different Class objects for the type personal/info/model/PersonalInfoRequestBean 
used in the signature at personal.info.rest.impl.PersonalInfoRESTServiceImpl.getPersonalInfoDetail(PersonalInfoRESTServiceImpl.java:112)

有人能帮我解决这个问题吗?。我们正在使用ApacheKaraf部署我们的服务。因此,如果它与karaf/delpoyment/maven依赖项相关,那么调试此问题的方法是什么。

此错误消息意味着,您有两个加载了不同类加载器的类
personal/info/model/PersonalInfoRequestBean
。 其中一个类加载器加载接口
PersonalInfoService
,另一个加载实现
PersonalInfoRESTServiceImpl
。 您应该避免这种情况,并且您的类
personal/info/model/personalinformequestbean
应该仅由加载接口的类加载器定义