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

Maven运行Eclipse Java项目单元测试报package不存在如何解决

问题1:编译测试时提示业务包不存在

出现该报错是因为两处配置错误:

  • 误用了add-test-source目标:该目标是用来添加测试代码的源码目录,而src/my/package/root/util下是生产业务代码,需要使用add-source目标添加到生产源码路径中
  • 源码目录配置过深:Java源码目录要指向包结构的根路径,你的业务代码包名是my.package.root.util,对应根路径是src,不是到util层的路径,否则编译器无法识别正确的包结构

修正后的build-helper-maven-plugin配置如下:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>3.2.0</version>
    <executions>
        <!-- 添加生产业务源码目录 -->
        <execution>
            <id>add-main-source</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>src</source>
                </sources>
            </configuration>
        </execution>
        <!-- 自定义测试源码目录的配套配置 -->
        <execution>
            <id>add-custom-test-source</id>
            <phase>generate-test-sources</phase>
            <goals>
                <goal>add-test-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>src/tests</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>

修改后重新执行mvn clean test即可解决包不存在的编译错误。

问题2:测试类放到自定义路径下提示No tests to run

Maven默认仅扫描src/test/java下的测试类,自定义测试路径需要额外调整配置:

  • 先按上述配置用add-test-source目标把自定义测试根目录src/tests添加为测试源码目录
  • 确认测试类命名符合maven-surefire-plugin的默认匹配规则:类名必须符合*Test.java、*Tests.java、Test*.java三者之一,你使用的StringUtilsTests.java符合规则,无需额外调整
  • 如果仍识别不到,可以在surefire配置中显式指定测试根目录,补充配置如下:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.0.0-M5</version>
    <configuration>
        <skipTests>false</skipTests>
        <testSourceDirectory>src/tests</testSourceDirectory>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>test</goal>
            </goals>
        </execution>
    </executions>
</plugin>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:06:04