我从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容器......
答案 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>