小工具知识网

当前位置: 首页 > 行业知识 > 【异常处理】sbt构建Chisel库时出现extracting structure failed:build status:error的解决办法

行业知识

【异常处理】sbt构建Chisel库时出现extracting structure failed:build status:error的解决办法

2026-11-16 02:32:57 来源:互联网转载

文章目录

  • 报错背景:
  • 解决思路:
    • ①IDEA中配置本地的SBT进行下载
    • ②更改下载源为华为的镜像站
      • 1. 修改sbtconfig.txt
      • 2. 增加repositories文件
      • ③查看报错信息
      • 总结
        • ���理的Scala-Chisel-Chiseltest版本信息对应表

          报错背景:

          最近在写Chisel时,构建项目常常需要等待很久,然后报错extracting structure failed:build status:error

          这个报错实际上告诉我们,在build.sbt中指定的依赖没有下载到,导致依赖的结构无法实现。

          解决思路:

          chisel库的资源是基于build.sbt配置文件给出的信息,使用sbt去maven网站上下载的,那么首先要确保sbt已经使用国内镜像源,以加快下载速度,其次根据报错信息,通过maven仓库网站查看缺少的文件,找到兼容的版本号,并修改build.sbt文件。

          ①IDEA中配置本地的SBT进行下载

          打开IDEA的File-Settings,找到sbt,按照如图配置。

          默认情况下Launcher是Bundle,即IDEA内置的SBT,默认从maven官方下载,我们将其指定为本地的sbt下bin目录中的sbt-launch.jar,并将VM parameters写入,方便后面更改为国内maven镜像站。

          -Dsbt.override.build.repos=true

          ②更改下载源为华为的镜像站

          1. 修改sbtconfig.txt

          在安装的sbt目录\conf\sbtconfig.txt 中写入

          -Dsbt.override.build.repos=true

          为true表示sbt构建的仓库下载源将自定义。

          2. 增加repositories文件

          在当前用户目录.sbt 下新建repositories文件,无需扩展名,并写入:

          [repositories]localhuaweicloud-maven: https://repo.huaweicloud.com/repository/maven/maven-central: https://repo1.maven.org/maven2/sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]

          ③查看报错信息

          scalaVersion := "2.13.8"scalacOptions ++= Seq(  "-deprecation",  "-feature",  "-unchecked",  "-Xfatal-warnings",  "-language:reflectiveCalls",)libraryDependencies += "edu.berkeley.cs" %% "chiseltest" % "0.5.6"val chiselVersion = "3.4.3"libraryDependencies += "edu.berkeley.cs" %% "chisel3" % chiselVersion

          查看红框中第三行报错信息,可以看到sbt在maven仓库中没有找到build.sbt指定的库

          [error] not found: https://repo1.maven.org/maven2/edu/berkeley/cs/chisel3_2.13/3.4.3/chisel3_2.13-3.4.3.pom

          我们通过浏览器查看有没有这个库,可以看到在https://repo1.maven.org/maven2/edu/berkeley/cs/ 下有chisel3 2.11到2.13的库

          点进chisel3 2.13中发现确实没有3.4.3

          返回,去看chisel3 2.11的目录 发现确实有3.4.3的chisel适配版本

          因此报错原因就找到了——build.sbt中指定的scala版本和chisel版本不匹配,如果想继续使用chisel 3.4.3版本,就应该更改build.sbt中scala版本为2.11系列,如果想继续使用2.13版本的scala,就必须更改chisel库版本为2.13库下的3.5.0到3.6.0系列。

          可以下载的scala版本在https://repo.huaweicloud.com/repository/maven/org/scala-lang/scala-library/ 可以查看

          总结

          说了这么多,其实针对我的问题,最终解决办法就是把build.sbt中的scala版本更改为2.11系列即可,我修改成了2.11.9。

          读者面对这个异常需要掌握这套方法,确保idea绑定了本地的sbt,并修改sbt的下载源,根据下载源的报错查找scala和chisel对应版本是否匹配,最终根据官方源中兼容的库去修改版本号。

          这里给出我整理的Scala版本对应兼容的Chisel和Chiseltest版本信息:

          scala 2.11系列兼容的chisel版本为兼容的chisel版本3.0.0到3.4.4,chiseltest版本为0.2.0到0.3.4

          scala 2.12系列兼容的chisel版本为兼容的chisel版本3.0.0到3.6.0,chiseltest版本为0.2.0到0.6.1

          scala 2.13系列兼容的chisel版本为兼容的chisel版本3.5.0到3.6.0,chiseltest版本为0.5.0到0.6.2 5.0.0到5.0.2 以及6.0.0

          具体的scala小版本信息,请查看这里

          具体的chisel和chiseltest小版本信息请查看这里

          整理的Scala-Chisel-Chiseltest版本信息对应表

          这里我整理出的对应表放入了网盘中,请自取:

          链接:https://pan.baidu.com/s/1tk_mW7Z_RTwhFH_YLgUOsQ?pwd=z52s

          提取码:z52s

          –来自百度网盘超级会员V5的分享

上一篇:怎么给客服找服务器号码?

下一篇:主机怎么设置静态路由