WELD-001408:部署Jhipster微服务时对类型EurekaServerContext的依赖性不满意

时间:2016-10-04 08:34:20

标签: java jboss jhipster netflix-eureka

我从Jhipster应用程序构建了一些WAR文件,并尝试在Jboss上部署它们。添加 jboss-deployment-structure.xml 文件后,我成功地部署了网关。

不幸的是,微服务因以下堆栈跟踪而失败:

  

org.jboss.weld.exceptions.DeploymentException:WELD-001408:带有限定符@Efault的类型EurekaServerContext的不满意依赖项     at injection point [UnbackedAnnotatedParameter] [UnbackedAnnotatedConstructor]的参数1 @Inject com.netflix.eureka.resources.SecureVIPResource(EurekaServerContext)     在com.netflix.eureka.resources.SecureVIPResource。(SecureVIPResource.java:0)

其他类还有其他7个类似的堆栈跟踪:VIPResource,ASGResource等......

问题是我无法真正改变com.netflix.eureka包中的任何内容...... 我在网上看到过类似的错误,一个解决方案就是在WEB-INF中添加一个空的 bean.xml 文件。

不幸的是,这只会导致另一个错误:

  

javax.enterprise.inject.UnsatisfiedResolutionException:无法使用限定符[@ javax.enterprise.inject.Default(),@ javax.enterprise.inject.Any()]解析'javax.persistence.EntityManager'的bean。           在org.springframework.data.jpa.repository.cdi.JpaRepositoryExtension.createRepositoryBean(JpaRepositoryExtension.java:118)           在org.springframework.data.jpa.repository.cdi.JpaRepositoryExtension.afterBeanDiscovery(JpaRepositoryExtension.java:94)

您知道是否有解决此问题的方法......或其他方法?

注意:由于...公司限制,我正在使用Jboss。如果没有这些限制,我会选择基本的独立Tomcat执行或Docker容器......

1 个答案:

答案 0 :(得分:0)

我认为您需要排除焊接子系统

请参阅:https://github.com/jhipster/generator-jhipster/issues/1303#issuecomment-87075166

我在jboss-deployment-structure.xml文件中为更旧的jhipster应用程序执行了此操作:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
   <deployment>
       <exclusions>
           <module name="javaee.api" />
           <module name="org.slf4j" />
           <module name="org.slf4j.impl" />
       </exclusions>
       <exclude-subsystems>
           <subsystem name="jpa" />
           <subsystem name="weld" />
       </exclude-subsystems>
   </deployment>
</jboss-deployment-structure>