You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cucumber框架配置exec-maven-plugin执行类抛出ClassNotFoundException问题

问题根因

该错误的核心原因是exec-maven-plugin默认的类路径不包含测试源码编译后的类,且初始配置的执行阶段早于测试代码编译时机,即使调整到test-compile之后,未配置测试类路径依然会找不到类。


解决方案

按以下步骤修改插件配置即可:

  • 调整执行阶段到process-test-classes,该阶段测试代码已经完成编译,class文件已生成
  • 在插件配置中添加<classpathScope>test</classpathScope>,指定插件加载测试类路径下的资源和类
  • 删除不必要的includePluginDependencies配置(除非TestClass明确依赖该插件的内置依赖,否则该配置会引入冗余依赖冲突风险)

修改后的完整插件配置如下:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <id>installAPK</id>
            <phase>process-test-classes</phase>
            <goals>
                <goal>java</goal>
            </goals>
            <configuration>
                <classpathScope>test</classpathScope>
                <mainClass>org.com.package1.TestClass</mainClass>
            </configuration>
        </execution>
    </executions>
</plugin>

额外检查点

如果修改后仍报错,请确认TestClass.java确实存放在src/test/java/org/com/package1/路径下,类的包名声明和配置的mainClass完全一致,无拼写错误。

内容的提问来源于stack exchange,提问作者Mitsuhaki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:45:04