首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ClassNotFoundException (Apache CXF CXF服务)

ClassNotFoundException (Apache CXF CXF服务)
EN

Stack Overflow用户
提问于 2020-02-27 23:24:15
回答 1查看 69关注 0票数 0

我正在尝试运行我用Apache CXF编写的CXF服务。我一直收到这个错误:

代码语言:javascript
复制
Stacktrace:] with root cause
java.lang.ClassNotFoundException: org.apache.cxf.message.Message
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)

我已经将cxf-core工件添加到了我的pom文件中,并且我还可以看到它包含在WAR文件中。还有实际上抛出异常的JAR。抛出异常的代码部分是:

代码语言:javascript
复制
getBindingProvider().getRequestContext().put(BindingProviderProperties.CONNECT_TIMEOUT, connectTimeout);
    getBindingProvider().getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endPointUrl);
    getBindingProvider().getRequestContext().put("com.sun.xml.internal.ws.request.timeout", 3720000);

    Map<String, List<String>> headers = new HashMap<String, List<String>>();

    headers.put("Content-Type", Collections.singletonList("application/soap+xml"));
    headers.put(Message.CONTENT_TRANSFER_ENCODING, Collections.singletonList("UTF-8"));
    headers.put(Message.ENCODING, Collections.singletonList("UTF-8"));

    getBindingProvider().getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS, headers);

我做错了什么吗?

我使用maven-jar-plugin构建它,如下所示:

代码语言:javascript
复制
<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <inherited>true</inherited>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <addDefaultEntries>true</addDefaultEntries>
                        <addBuildEnvironmentEntries>true</addBuildEnvironmentEntries>
                        <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                        <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                        <classpathPrefix>lib/</classpathPrefix>
                    </manifest>
                </archive>
                <attachClasses>true</attachClasses>
                <includeEmptyDirectories>true</includeEmptyDirectories>
                <outputDirectory>${project.basedir}/target/</outputDirectory>
            </configuration>
        </plugin>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-06 19:24:30

你是如何运行它的?如果运行包含cxf jar文件的war文件,其中包含消息类,则不应抛出class异常。除非您有冲突的依赖项。或者是类加载器出了问题。

检查冲突的jars。在intellij中,它们被标记在屏幕的右侧。Eclipse也有类似的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60436523

复制
相关文章

相似问题

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