问题:当我试图将WAR部署到Glassfish 4.1.1时,我一直得到下面的焊接异常。该应用程序在Wildfly 9.0上正确部署。
加载应用程序时出现异常: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException焊缝-001508:无法从EnhancedAnnotatedTypeImpl公共抽象接口@Path类com.example.package.MyService创建InjectionTarget,因为它是一个接口
在这里,MyService确实是一个接口,定义在一个单独的库中。我的应用程序将库拉进来,这样它就可以针对MyService接口创建代理并发出请求。MyService看起来像:
@Path("api")
public interface MyService {
@GET
public void someMethod();
}我试图通过向MyService文件中添加以下内容,将beans.xml从焊缝中排除在外,但没有效果:
<scan>
<exclude name="com.example.package.*"></exclude>
</scan>发布于 2016-01-20 22:00:20
好吧,我没能找到原因。但是,我最终通过从配置文件中移除了一堆Resteasy依赖项,这可能是问题的根源。(就上下文而言,我是从野生蝇/Resteasy迁移到玻璃鱼/泽西)。
有时,我仍然会遇到这个错误(不确定原因),但是一个干净的、重新构建的包会让它消失。
发布于 2015-12-17 08:02:28
您还可以尝试创建package-info.java文件并使用@Vetoed。
@Vetoed
package com.example.package;
import javax.enterprise.inject.Vetoed;https://stackoverflow.com/questions/34323488
复制相似问题