java - JBOSS中的Maven项目,如何更改类加载器的优先级?

标签 java maven jboss classcastexception

读完这篇文章后:

EAR & WAR Class Loader

还有这篇文章:

CXF JBOSS issue

我非常确定 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 个 jar 从认可的文件夹中移出,一切都会正常。但这不是一个选择。

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

有什么想法吗?

[编辑:]

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

在我的 EAR 中,我相信发生冲突的 jar 是

jaxws-rt-2.1.7.jar

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

enter image description here

enter image description here

enter image description here

enter image description here

最佳答案

我看到你在这里混合了很多 jar 。您在 Maven 依赖项中有 jar,然后在 C:\eclipseHelios\lib

下的构建路径中分别有 jar

请您清理一下它,并确保所有必需的 jar 都位于 JRE lib 或仅 Maven 依赖项中。对于 ws jar,maven 配置是

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

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

请清理您的库并重试。

关于java - JBOSS中的Maven项目,如何更改类加载器的优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18823673/

相关文章:

java - 使用 JDK6 的 JBOSS 5.1 中的 Web 服务客户端

java - 如何配置 Drools 与 JBOSS 一起运行?

java - 用随机数创建一个数组

java - maven-assembly-plugin 给出 java 堆空间错误

java - JDBC字符串中的Mysql session 变量

eclipse Jrebel 中的 Maven 多模块 +tomcat 没有控制台

java - 禁用来自 Maven 的 project-info-reports-plugin 的所有报告

java - 如何在 IntelliJ 中使用 maven-ear-plugin 的 bundleFileName?

java - java中用户定义异常的编码风格

java - JPA 关系中列的自定义命名