0

看完这篇文章后:

EAR & WAR 类加载器

这篇文章:

CXF JBOSS 问题

我很确定 JBOSS 4.2.3 类加载器正在尝试在 lib/endorsed 文件夹中查找类 ServiceDelegate21,但它与我的 EAR 文件中的类有所不同,因此会抛出:

java.lang.ClassCastException: org.apache.cxf.jaxws.ServiceImpl cannot
be cast to javax.xml.ws.spi.ServiceDelegate21

当然,如果我将 2 个罐子从背书文件夹中移动,一切正常。但这不是一个选择。

我需要从我的 maven 项目中告诉 JBOSS 4.2.3 GA 类加载器,首先查看我的 EAR,然后查看 lib/endorsed 文件夹。

有任何想法吗?

[编辑:]

内部库/认可:jboss-jaxws jboss-jaxws-ext

在我的耳朵里,我相信冲突的罐子是

jaxws-rt-2.1.7.jar

但看看我的项目的完整 jar 列表

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

我看到你在这里混合了很多罐子。您在 Maven 依赖项中有 jars,然后在构建路径中分别有 jarsC:\eclipseHelios\lib

您能否将其清理干净,并确保所有必需的 jar 仅位于 JRE lib 或 Maven 依赖项中。对于 ws jar,maven 配置是

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.1.7</version>
</dependency>

此外,我看到许多重复版本的罐子。例如 jaxws-api.2.1.jar 以及在 maven 中。越是重复,越是类版冲突!

请清理您的图书馆,然后重试。

于 2013-09-16T09:19:47.137 回答