寻求适配SonarQube 9+的SBT Sonar Scanner插件,现有插件均过时
适配SonarQube 9+的SBT Sonar Scanner插件解决方案
这不是你的搜索方式问题——你提到的sbt-sonar和sonar-scala确实长期未维护,无法适配SonarQube 9+版本。下面是几个可行的替代方案:
使用官方SonarScanner CLI配合SBT
官方SonarScanner CLI始终跟进SonarQube的最新版本,你可以在SBT中自定义任务来调用它。在build.sbt中添加以下配置示例:// 定义SonarQube扫描所需的属性 sonarProperties ++= Map( "sonar.projectKey" -> "你的项目唯一标识", "sonar.host.url" -> "你的SonarQube实例地址", "sonar.sources" -> "src/main/scala", "sonar.tests" -> "src/test/scala", // 根据项目需求添加其他配置 ) // 创建自定义任务执行扫描 lazy val sonarScan = taskKey[Unit]("通过官方CLI执行SonarQube扫描") sonarScan := { val props = sonarProperties.value // 拼接CLI命令 val cmd = "sonar-scanner" + props.map { case (key, value) => s" -D$key=$value" }.mkString // 执行命令并检查退出码 val exitCode = Process(cmd).! if (exitCode != 0) throw new Exception(s"Sonar扫描失败,退出码:$exitCode") }之后运行
sbt sonarScan即可触发扫描。查找社区维护的复刻版本
部分开发者会fork原项目并更新以适配新版本SonarQube,你可以在代码托管平台搜索sbt-sonar SonarQube 9这类关键词,找到仍在维护的社区分支。考虑切换构建工具
如果项目允许,Gradle或Maven的官方Sonar插件都保持对最新SonarQube版本的支持,适配性和维护性更有保障。
内容的提问来源于stack exchange,提问作者Vyacheslav Kondratenko
相关产品推荐
相关产品推荐

