首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sonaqube抛出java.lang.IllegalArgumentException:主机名可能不是空的

Sonaqube抛出java.lang.IllegalArgumentException:主机名可能不是空的
EN

Stack Overflow用户
提问于 2020-03-30 12:25:54
回答 1查看 1.2K关注 0票数 1

我将SonarQube集成到我的android项目中,但无法执行生成报告的命令。我就是这样做的:

环境:

  • Android 4.0 Beta 3.
  • SonarQube 8.2,社区版.

项目分级:

代码语言:javascript
运行
复制
buildscript {
    ext.kotlin_version = '1.3.71'

    repositories {
        google()
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' } //Crashlytics
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.0-beta03'
        ...
        classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.8"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://maven.google.com' }
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

App模块级:

代码语言:javascript
运行
复制
apply plugin: 'org.sonarqube'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.google.firebase.appdistribution'
android {
    compileSdkVersion 29
    buildToolsVersion '29.0.3'

    defaultConfig {
        applicationId "<my app id here>"
        minSdkVersion 21
        targetSdkVersion 29
        versionName "1.0"
        versionCode 1
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
    }


    buildTypes {
        debug {
            debuggable true
            minifyEnabled false
            shrinkResources false
            testCoverageEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            manifestPlaceholders = [backup: "false"]
            manifestPlaceholders = [backup : "false"]
        }
        release {
            minifyEnabled true
            shrinkResources true
            testCoverageEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            manifestPlaceholders = [backup: "true"]
            signingConfig signingConfigs.release
        }

        dexOptions {
            javaMaxHeapSize "4g"
        }
    }

    lintOptions {
        abortOnError false
    }

    flavorDimensions "data"
    productFlavors {
        development {
            dimension "data"
        }

        staging {
            dimension "data"
        }

        prod {
            dimension "data"
        }
    }

    buildFeatures{
        dataBinding = true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    testImplementation 'junit:junit:4.12'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    /*Android Support Libraries*/ 
    ...

    /*Firebase Libraries */
    ...
    /*Other 3rd party libs*/
    ...

    kapt "com.sun.xml.bind:jaxb-core:2.3.0.1"
    kapt "javax.xml.bind:jaxb-api:2.3.1"
    kapt "com.sun.xml.bind:jaxb-impl:2.3.2"
    annotationProcessor "com.sun.xml.bind:jaxb-core:2.3.0.1"
    annotationProcessor "javax.xml.bind:jaxb-api:2.3.1"
}

sonarqube {
    properties {
        property "sonar.projectName", "<ProjectName>"
        property "sonar.projectKey", "<project_key>"
        property "sonar.tests", ["src/test/java"]
        property "sonar.test.inclusions", "**/*Test*/**"
        property "sonar.sourceEncoding", "UTF-8"
        property "sonar.sources", "src/main/java"
        property "sonar.exclusions", '**/*Test*/**,' +
                '*.json,' +
                '**/*test*/**,' +
                '**/.gradle/**,' +
                '**/R.class'
    }
}

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

我下载并解压缩SonarQube 8.2,然后运行以下命令以成功启动它:

~/Documents/sonarqube/bin/macosx-universal-64/sonar.sh console

然后,我可以登录到http:localhost:9000并使用指定的项目密钥安装新项目,并返回令牌。

我复制了Sonar生成的命令,并在终端中运行,但它总是抛出异常。

命令:

代码语言:javascript
运行
复制
./gradlew sonarqube \
  -Dsonar.projectKey=gluu_android \
  -Dsonar.host.url=http://localhost:9000 \
  -Dsonar.login=e694bbca8f20ad86fd02b5620521f92073d411ef

例外:

代码语言:javascript
运行
复制
Exception in thread "Build Event Notification" java.lang.IllegalArgumentException: Host name may not be empty
        at com.crashlytics.reloc.org.apache.http.util.Args.containsNoBlanks(Args.java:84)
        at com.crashlytics.reloc.org.apache.http.HttpHost.<init>(HttpHost.java:80)
        at com.crashlytics.reloc.org.apache.http.HttpHost.<init>(HttpHost.java:99)
        at com.crashlytics.api.net.proxy.ProxySettings.getConfig(ProxySettings.java:39)
        at com.crashlytics.api.RestfulWebApi.notifyBuildEvent(RestfulWebApi.java:1439)
        at com.crashlytics.api.RestfulWebApi.access$100(RestfulWebApi.java:74)
        at com.crashlytics.api.RestfulWebApi$10.run(RestfulWebApi.java:1371)
        at java.base/java.lang.Thread.run(Thread.java:834)

声纳背景线程的异常:

代码语言:javascript
运行
复制
Error Details
java.lang.IllegalStateException: Unrecoverable indexation failures: 1 errors among 1 requests
    at org.sonar.server.es.IndexingListener$1.onFinish(IndexingListener.java:39)
    at org.sonar.server.es.BulkIndexer.stop(BulkIndexer.java:122)
    at org.sonar.server.measure.index.ProjectMeasuresIndexer.doIndex(ProjectMeasuresIndexer.java:157)
    at org.sonar.server.measure.index.ProjectMeasuresIndexer.indexOnAnalysis(ProjectMeasuresIndexer.java:82)
    at org.sonar.ce.task.projectanalysis.step.IndexAnalysisStep.execute(IndexAnalysisStep.java:45)
    at org.sonar.ce.task.step.ComputationStepExecutor.executeStep(ComputationStepExecutor.java:81)
    at org.sonar.ce.task.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:72)
    at org.sonar.ce.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:59)
    at org.sonar.ce.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:81)
    at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.executeTask(CeWorkerImpl.java:209)
    at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.run(CeWorkerImpl.java:191)
    at org.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:158)
    at org.sonar.ce.taskprocessor.CeWorkerImpl$TrackRunningState.get(CeWorkerImpl.java:133)
    at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:85)
    at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:53)
    at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
    at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
    at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
    ```
EN

回答 1

Stack Overflow用户

发布于 2020-04-01 05:38:20

在这些步骤之后,我终于解决了这个问题:

https://www.postgresql.org/

  • Clean
  • 安装PostgreSQL到mac,以获得超过50 of的免费空间
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60930535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档