当前位置: 首页 > 知识库问答 >
问题:

如何在build.gradle中添加SonarQube插件并获取当前项目的报告

马阳曦
2023-03-14

我尝试下载SonarQube,并根据此链接执行每个步骤,在build.gradle中设置SonarQube并添加SonarQube插件

我能够从命令执行SonarQube,但是当我在build.gradle中添加SonarCube插件时,当我试图同步一个项目时,它显示了一个类似这样的错误,

错误25:所有buildscript{}块必须出现在脚本中的任何plugins{}块之前

但是我已经在Build中添加了SonarQube的插件和属性。Gradle,

plugins {
id "org.sonarqube" version "7.2.1"
} 

并添加SonarQube的属性,

sonarqube {
properties {
    property "sonar.projectName", "MyApplication2"
    property "sonar.projectKey", "SQKey"
    property "sonar.sources","src/main/java"
    property "sonar.language","java"
    property "sonar.sourceEncoding", "UTF-8"
}}

Android Studio版本是3.1.3和Gradle版本是4.4和SonarQube下载版本是7.2.1

 buildscript {
repositories {
    jcenter()
    maven { url 'https://maven.fabric.io/public' }
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
    google()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.3'
    classpath 'com.google.gms:google-services:2.1.0'
    classpath 'io.fabric.tools:gradle:1.+'
    classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: "org.sonarqube"



repositories {
maven { url 'https://maven.fabric.io/public' }
}


apply plugin: 'com.google.gms.google-services'

plugins {
id "org.sonarqube" version "7.2.1"
}
sonarqube{
properties{
    property "sonar.projectName", "Example 16-8"
    property "sonar.projectKey", "example 16-6-key"
    property "sonar.sources","src/com.example.project"
    property "sonar.language","java"
    property "sonar.sourceEncoding", "UTF-8"
    property "sonar.jacoco.reportPath", 
    "build/jacoco/testDebugUnitTest.exec"
    //        property "sonar.exclusions", "src/main/java/com/foo/Foo.java"
    }}
    allprojects {
    repositories {
    jcenter()
    google()
    }
    }
    android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    }

并且,请找到下面的图像--当我在浏览器中添加http://localhost:9000/时,它不会显示我的任何Android项目。请参考这张图片以参考SonarQube在我的浏览器中的外观,

试图创建gradle.properties文件来添加这些行,

systemProp.sonar.host.url=http://localhost:9000
systemProp.sonar.login=admin
systemProp.sonar.password=admin

打开了Android Studio终端并执行了这个。\Gradlew sonarqube

请看下图,当我试图在Android Studio终端上执行命令时,我得到了声纳Qube异常(底部)。

共有1个答案

米景辉
2023-03-14

错误33来自使用plugins{}块时必须遵循的严格语法,这在Gradle文档中有描述:https://docs.Gradle.org/current/dsl/org.Gradle.plugin.use.plugindependenciesspec.html(请参见“严格语法”部分)在build.Gradle脚本中,在其他一些指令之后添加了“plugins{}”块,这是不允许的。我想另一个错误#25来自同样的原因。

您应该尝试重写脚本,并先移动“buildscript”块,然后移动“plugins”块,然后移动脚本的其他部分

希望这能有所帮助。

 类似资料:
  • 问题内容: 我正在编写一个Eclipse插件,它将在Java项目的上下文菜单中显示一个菜单项。我已将plugin.xml编写如下: 因此,我现在尝试编写扩展的类,以便可以创建动态菜单,并且该菜单的内容将基于Java项目根目录中存在的一组文件。但是我一直试图从方法中获取到根目录的路径。 基于plugin.xml文件,我可以确保仅在选择了单个Java项目的情况下才调用该方法,因此,我要做的就是获取当前

  • 问题内容: 关于Eclipse Java插件的一些烦人的事情之一是缺少用于构建与当前资源关联的项目的键盘快捷键。有人知道该怎么做吗? 问题答案: 在“首选项”对话框的“常规”部分下是一个名为“键”的对话框。这使您可以将键绑定附加到许多事件,包括Build Project。

  • 问题内容: 我要两个约会。1)当前日期为MM / dd / yy格式2)修改日期为当前日期后五个工作日(星期一至星期五),并且应为MMM dd,yyyy格式。 因此,如果我的当前时间是6月9日,那么currentDate应该是2014年6月9日,而ModifyDate应该是2014年6月13日。 这该怎么做? 问题答案: 这将增加工作日(周一至周五),并以所需格式显示日期。 2020年7月6日更新

  • 一些子项目有自己的build.gradle文件应用的java插件。在根项目的build.gradle中,我想将plugin findbugs应用于已经有java插件的每个子项目。build.gradle我尝试过: 和 外部循环确实会为每个子项目运行一次,但内部闭包在这两种情况下都不会运行。我怀疑这是因为子项目构建脚本在外部脚本之前生效。除了手动将findbugs插件应用到每个子项目之外,还有什么方

  • 下面的“build.gradle”: 当您运行时: 它产生: 我肯定这一定是可能的,那么你是怎么做到的呢?

  • 执行mvn spring:启动运行后出现以下错误: [错误]在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中没有找到前缀“Spring”的插件,可从存储库[本地(/path/to/本地/repo)、Spring快照(http://repo.spring.io/snapshot)、Spring-里程碑(http://repo.spring.