Groovy测试编译报Unable to resolve class JunitAdapter如何解决
排查解决步骤
- 补全GMavenPlus插件的主源码编译目标
你当前插件配置的goals节点仅包含测试相关的目标,没有配置主源码编译,导致JunitAdapter根本没有被编译到类路径,测试自然无法引用。修改配置为:
<goals> <goal>compile</goal> <goal>addTestSources</goal> <goal>testCompile</goal> </goals>
- 修正测试源码目录配置
你配置的测试源码目录为src/test/groovy/com/intel/epgsw,但CloneTestSpec.groovy存放在src/test/groovy根目录下,配置路径不匹配会导致测试文件没有被正确纳入编译范围。修改testSource的directory值为src/test/groovy:
<testSource> <directory>src/test/groovy</directory> <includes> <include>**/*.groovy</include> </includes> </testSource>
- 核对类包声明
确认JunitAdapter.groovy文件首行的包声明为package com.intel.epgsw,不要携带多余的src前缀,和你测试文件中import com.intel.epgsw.JunitAdapter的路径保持一致。 - 可选优化:对齐Maven标准目录结构
当前你把主业务代码直接放在src根目录下,不符合Maven的约定俗成规则,很容易后续出现类路径问题。建议将src下的com文件夹整体移动到src/main/groovy目录下,同步修改GMavenPlus的sources配置:
<sources> <source> <directory>src/main/groovy</directory> <includes> <include>**/*.groovy</include> </includes> </source> </sources>
内容的提问来源于stack exchange,提问作者Subhojoy Dey
相关产品推荐
相关产品推荐

