【问题标题】:Maven Plugin Dependency : class not foundMaven插件依赖:找不到类
【发布时间】:2017-10-28 07:32:48
【问题描述】:

我正在尝试将 Apache CXF 的“cxf-java2ws-plugin”添加到我的 pom.xml 文件中 在“进程类”阶段执行默认目标(java2ws)时,我得到一个类未找到异常:

执行时缺少所需的类 org.apache.cxf:cxf-java2ws-plugin:3.1.11:java2ws: org/apache/cxf/helpers/CastUtil

奇怪的是我有正确的依赖关系,我可以在领域 url 中看到具有所需类文件的 JAR (cxf-core-3.1.11.jar)。我检查了 JAR,类文件在那里。 (见下面的网址[4])

[ERROR] Failed to execute goal org.apache.cxf:cxf-java2ws-plugin:3.1.11:java2ws (default) on project MasterCardServiceStub: Execution default of goal org.apache.cxf:cxf-java2ws-plugin:3.1.11:java2ws failed: A required class was missing while executing org.apache.cxf:cxf-java2ws-plugin:3.1.11:java2ws: org/apache/cxf/helpers/CastUtils
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.apache.cxf:cxf-java2ws-plugin:3.1.11
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/SBIv2/m2/repository/org/apache/cxf/cxf-java2ws-plugin/3.1.11/cxf-java2ws-plugin-3.1.11.jar
[ERROR] urls[1] = file:/C:/SBIv2/m2/repository/org/apache/cxf/cxf-rt-frontend-jaxws/3.1.11/cxf-rt-frontend-jaxws-3.1.11.jar
[ERROR] urls[2] = file:/C:/SBIv2/m2/repository/xml-resolver/xml-resolver/1.2/xml-resolver-1.2.jar
[ERROR] urls[3] = file:/C:/SBIv2/m2/repository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar
[ERROR] urls[4] = file:/C:/SBIv2/m2/repository/org/apache/cxf/cxf-core/3.1.11/cxf-core-3.1.11.jar
[ERROR] urls[5] = file:/C:/SBIv2/m2/repository/org/codehaus/woodstox/woodstox-core-asl/4.4.1/woodstox-core-asl-4.4.1.jar
...

这是我“最简单”的插件配置

        <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-java2ws-plugin</artifactId>
            <version>3.1.11</version>


            <dependencies>
                <dependency>
                    <groupId>org.apache.cxf</groupId>
                    <artifactId>cxf-rt-frontend-jaxws</artifactId>
                    <version>3.1.11</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.cxf</groupId>
                    <artifactId>cxf-rt-frontend-simple</artifactId>
                    <version>3.1.11</version>
                </dependency>
            </dependencies>


            <executions>
                <execution>

                    <!-- bind this plugin goal to the specific maven phase -->
                    <phase>process-classes</phase>
                    <configuration>

                        <className>org.apache.hello_world.Greeter</className>
                        <genWsdl>true</genWsdl>
                        <verbose>true</verbose>
                    </configuration>
                    <!-- the plugin specific goal -->
                    <goals>
                        <goal>java2ws</goal>
                    </goals>
                </execution>
            </executions>

        </plugin>

【问题讨论】:

  • 您使用的是 Maven 2 吗?还是Maven 3?为什么要在插件中添加依赖项?文档中提到了吗?
  • 我从 CXF 文档中复制了配置。这就是为什么我有依赖项。使用maven 3.3.9,但用3.5.0试了一下,希望能解决问题

标签: java maven maven-2 cxf


【解决方案1】:

由本地 repo 中损坏的 JAR 引起

【讨论】:

  • 我遇到了类似的问题。我开始删除本地存储库并执行 mvn clean package。工作。
【解决方案2】:

尝试使用低于 3.1.11 版本的 &lt;artifactId&gt;cxf-rt-frontend-simple&lt;/artifactId&gt;。并更新 maven 项目

【讨论】:

  • 低于版本...从 3.1.11 开始?低于什么?你的意思是把版本改成新的、旧的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-03
  • 2016-10-01
  • 2020-04-18
  • 1970-01-01
  • 1970-01-01
  • 2011-01-24
相关资源
最近更新 更多