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

集成scoverage-maven-plugin遇NoSuchMethodError问题求助

解决scoverage-maven-plugin的java.lang.NoSuchMethodError问题

这个错误本质是Scala版本与scoverage插件/依赖版本不兼容,或者依赖引入方式错误导致的方法签名不匹配,以下是具体解决步骤:

1. 严格匹配Scala与scoverage插件版本

不同版本的scalac-scoverage-plugin对应固定的Scala版本范围,必须对齐:

  • Scala 2.12.x → 使用scalac-scoverage-plugin_2.12的1.4.x系列版本
  • Scala 2.13.x → 使用scalac-scoverage-plugin_2.13的1.5.x+系列版本
  • Scala 3.x → 使用scalac-scoverage-plugin_3的2.x+系列版本

2. 修正POM中插件的正确配置方式

不要把scala-compiler和scalac-scoverage-plugin放到项目的<dependencies>里,而是要在scoverage-maven-plugin的内部依赖中声明,确保插件使用的依赖版本与项目一致:

<build>
  <plugins>
    <plugin>
      <groupId>org.scoverage</groupId>
      <artifactId>scoverage-maven-plugin</artifactId>
      <version>1.4.11</version> <!-- 替换为对应Scala版本的兼容版本 -->
      <executions>
        <execution>
          <goals>
            <goal>report</goal>
          </goals>
        </execution>
      </executions>
      <dependencies>
        <!-- 注意artifactId的Scala版本后缀要和项目完全一致 -->
        <dependency>
          <groupId>org.scoverage</groupId>
          <artifactId>scalac-scoverage-plugin_2.12</artifactId>
          <version>1.4.11</version>
        </dependency>
        <dependency>
          <groupId>org.scala-lang</groupId>
          <artifactId>scala-compiler</artifactId>
          <version>2.12.17</version> <!-- 项目实际使用的Scala版本 -->
        </dependency>
      </dependencies>
    </plugin>
  </plugins>
</build>

3. 清理缓存并重新构建

执行以下命令清理本地缓存的旧依赖,强制重新拉取正确版本:

mvn clean install -U

4. 排查依赖冲突

用依赖树命令检查是否有其他依赖引入了不兼容的scala-compiler版本:

mvn dependency:tree | grep scala-compiler

如果发现冲突,在对应的依赖中添加排除规则:

<dependency>
  <groupId>你的依赖groupId</groupId>
  <artifactId>你的依赖artifactId</artifactId>
  <version>你的依赖版本</version>
  <exclusions>
    <exclusion>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-compiler</artifactId>
    </exclusion>
  </exclusions>
</dependency>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:35:17