首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >玻璃鱼焊接001508异常4:如何忽略接口?

玻璃鱼焊接001508异常4:如何忽略接口?
EN

Stack Overflow用户
提问于 2015-12-16 22:38:13
回答 2查看 1.6K关注 0票数 2

问题:当我试图将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看起来像:

代码语言:javascript
复制
@Path("api")
public interface MyService {

    @GET
    public void someMethod();
}

我试图通过向MyService文件中添加以下内容,将beans.xml从焊缝中排除在外,但没有效果:

代码语言:javascript
复制
<scan>
    <exclude name="com.example.package.*"></exclude>
</scan>
  • 为什么焊缝要包括那个库的接口?
  • 我怎么叫它无视它呢?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-20 22:00:20

好吧,我没能找到原因。但是,我最终通过从配置文件中移除了一堆Resteasy依赖项,这可能是问题的根源。(就上下文而言,我是从野生蝇/Resteasy迁移到玻璃鱼/泽西)。

有时,我仍然会遇到这个错误(不确定原因),但是一个干净的、重新构建的包会让它消失。

票数 0
EN

Stack Overflow用户

发布于 2015-12-17 08:02:28

您还可以尝试创建package-info.java文件并使用@Vetoed

代码语言:javascript
复制
@Vetoed
package com.example.package;

import javax.enterprise.inject.Vetoed;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34323488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档