Jboss error: Only one JAX-RS Application Class allowed

Jboss error: Only one JAX-RS Application Class allowed

我的基于 Jboss 服务器 6.1 的 Web 应用程序有问题。当我尝试在服务器上部署它时,它会抛出一个错误:

Deployment "vfs:///E:/Instalki/jboss/jboss-as-distribution-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy/WholesaleApp.war" is in error due to the following reason(s): org.jboss.deployers.spi.DeploymentException: Only one JAX-RS Application Class allowed. org.glassfish.jersey.server.ResourceConfig org.glassfish.jersey.server.ResourceConfig$WrappingResourceConfig org.glassfish.jersey.server.ResourceConfig$RuntimeConfig

当我尝试向我的应用程序添加简单的 REST 服务时发生。这是 class:

的代码
@Path("/wholesale")
@Stateless
public class WholesaleREST implements WholesaleInterface{

    @EJB
    WholesaleEJB bean;

    @Override
    @GET
    @Path("/get")
    public String getCars() {
        List<Clients> listOfClients = bean.getClients();
        StringWriter sw = new StringWriter();
        ClientsContainer container = new ClientsContainer(listOfClients);
        JAXB.marshal(container, sw);
        return sw.toString();
    }

}

我不知道为什么会这样,是服务器、我的 class 还是 netbeans 出了问题?我在互联网上寻找这个问题,他们建议更改 web.xml(我没有这样的文件,我有 jboss-web.xml)或修改文件并删除服务器中的一些行我也没有的配置文件。 我必须为我的大学做一个项目,其中包含数据库、sesson bean、rest 服务和带有 swing 的客户端应用程序。当我不得不与服务器打架而不是代码本身时,它是如此令人沮丧。请帮帮我,我真的不知道该怎么办。

编辑。没人知道吗?

对于将来遇到同样问题的人:我删除了所有球衣罐,错误消失了。

删除这个:

<extension module=”org.jboss.as.jaxrs”/>
<subsystem xmlns=”urn:jboss:domain:jaxrs:1.0″/>

来自:standalone.xml

我遇到了同样的问题,并通过删除重复的球衣罐得到解决。 注意各种 Jersey Jars,如 Client、Bundle、Core、JSON、Server...

一切看起来都不一样,但它们会引起问题。

发生此错误是因为 war 文件中包含的 REST 库(作为依赖项)与容器中的默认 REST 实现冲突 (JBOSS) link here。你有两种选择来解决这个问题:

一个是在 JBOSS 中禁用默认的 REST 实现(在 standalone.xml 中)

另一个是删除项目中的任何 REST 实现依赖项(.jar 文件)。

如前所述here

您可以尝试将下一行添加到 web.xml 文件

<context-param>
    <param-name>resteasy.scan</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>resteasy.scan.providers</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>resteasy.scan.resources</param-name>
    <param-value>false</param-value>
</context-param>