問題:在嘗試將WAR部署到Glassfish 4.1.1時,我總是收到WELD異常。該應用程序在Wildfly 9.0上正確部署。Glassfish 4上的焊接001508異常:如何忽略接口(s)?
異常而加載的應用程序:java.lang.IllegalStateException:ContainerBase.addChild:啓動:org.apache.catalina.LifecycleException:org.apache.catalina.LifecycleException:org.jboss.weld.exceptions.DefinitionException: WELD-001508:不能創建從[EnhancedAnnotatedTypeImpl]公共抽象接口@Path類com.example.package.MyService一個InjectionTarget,因爲它是一個接口
這裏,MyService
確實是一個接口,在一個單獨的定義圖書館。我的應用程序將庫拉入,以便它可以創建一個針對MyService
接口的代理併發出請求。 MyService
樣子:
@Path("api")
public interface MyService {
@GET
public void someMethod();
}
我試圖通過添加以下到beans.xml
文件從WELD排除MyService
,都無濟於事:(
<scan>
<exclude name="com.example.package.*"></exclude>
</scan>
- 爲什麼WELD努力包括該庫的接口?
- 如何告訴它忽略它?
您是否碰巧爲此接口定義了一個生產者方法?我同意從這方面不清楚 –
不,沒有生產者的方法... – Rodrigo